From ecd0fb50a831df43e129942a48e26ef5377e2947 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Tue, 21 Jun 2011 18:10:31 -0700 Subject: [PATCH] Removed extra injects that weren't needed. Wrapped find series in try/catch to prevent a case where the series is in SceneMapping, but isn't in the users database. -Missed in last commit apparently. --- NzbDrone.Core/Providers/SeriesProvider.cs | 26 +++++++++++++------ NzbDrone.Web/Controllers/HistoryController.cs | 7 +---- .../Controllers/UpcomingController.cs | 4 +-- 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/NzbDrone.Core/Providers/SeriesProvider.cs b/NzbDrone.Core/Providers/SeriesProvider.cs index 161916806..0271e8ab7 100644 --- a/NzbDrone.Core/Providers/SeriesProvider.cs +++ b/NzbDrone.Core/Providers/SeriesProvider.cs @@ -118,19 +118,29 @@ namespace NzbDrone.Core.Providers public virtual Series FindSeries(string title) { - var normalizeTitle = Parser.NormalizeTitle(title); - - var seriesId = _sceneNameMappingProvider.GetSeriesId(normalizeTitle); - if (seriesId != null) + try { - return GetSeries(seriesId.Value); - } + var normalizeTitle = Parser.NormalizeTitle(title); - var series = _database.Fetch(@"SELECT * FROM Series + var seriesId = _sceneNameMappingProvider.GetSeriesId(normalizeTitle); + if (seriesId != null) + { + return GetSeries(seriesId.Value); + } + + var series = _database.Fetch(@"SELECT * FROM Series INNER JOIN QualityProfiles ON Series.QualityProfileId = QualityProfiles.QualityProfileId WHERE CleanTitle = @0", normalizeTitle).FirstOrDefault(); - return series; + return series; + } + + //This will catch InvalidOperationExceptions that may be thrown for GetSeries due to the series being in SceneMapping, but not in the users Database + catch (InvalidOperationException ex) + { + Logger.DebugException(ex.Message, ex); + return null; + } } public virtual void UpdateSeries(Series series) diff --git a/NzbDrone.Web/Controllers/HistoryController.cs b/NzbDrone.Web/Controllers/HistoryController.cs index 1802396f8..e0a1e2e8c 100644 --- a/NzbDrone.Web/Controllers/HistoryController.cs +++ b/NzbDrone.Web/Controllers/HistoryController.cs @@ -12,15 +12,10 @@ namespace NzbDrone.Web.Controllers public class HistoryController : Controller { private readonly HistoryProvider _historyProvider; - private readonly EpisodeProvider _episodeProvider; - private readonly SeriesProvider _seriesProvider; - public HistoryController(HistoryProvider historyProvider, EpisodeProvider episodeProvider, - SeriesProvider seriesProvider) + public HistoryController(HistoryProvider historyProvider) { _historyProvider = historyProvider; - _episodeProvider = episodeProvider; - _seriesProvider = seriesProvider; } // diff --git a/NzbDrone.Web/Controllers/UpcomingController.cs b/NzbDrone.Web/Controllers/UpcomingController.cs index 3ca9d69e6..ceaacb5d5 100644 --- a/NzbDrone.Web/Controllers/UpcomingController.cs +++ b/NzbDrone.Web/Controllers/UpcomingController.cs @@ -11,12 +11,10 @@ namespace NzbDrone.Web.Controllers public class UpcomingController : Controller { private readonly UpcomingEpisodesProvider _upcomingEpisodesProvider; - private readonly SeriesProvider _seriesProvider; - public UpcomingController(UpcomingEpisodesProvider upcomingEpisodesProvider, SeriesProvider seriesProvider) + public UpcomingController(UpcomingEpisodesProvider upcomingEpisodesProvider) { _upcomingEpisodesProvider = upcomingEpisodesProvider; - _seriesProvider = seriesProvider; } //