From 0fdc5e47be01e1344d7f2faab9df5750588f5a6f Mon Sep 17 00:00:00 2001 From: tidusjar Date: Sat, 4 Nov 2017 00:00:35 +0000 Subject: [PATCH] Fixed the availability checker --- .../Jobs/Plex/PlexAvailabilityChecker.cs | 40 +++++++++++++++++-- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/src/Ombi.Schedule/Jobs/Plex/PlexAvailabilityChecker.cs b/src/Ombi.Schedule/Jobs/Plex/PlexAvailabilityChecker.cs index 34fd49b5c..f53be1f58 100644 --- a/src/Ombi.Schedule/Jobs/Plex/PlexAvailabilityChecker.cs +++ b/src/Ombi.Schedule/Jobs/Plex/PlexAvailabilityChecker.cs @@ -43,8 +43,31 @@ namespace Ombi.Schedule.Jobs.Plex foreach (var child in tv) { + + PlexServerContent item = null; + var useImdb = false; + var useTvDb = false; + if (child.ParentRequest.ImdbId.HasValue()) + { + useImdb = true; + } + + if (child.ParentRequest.TvDbId.ToString().HasValue()) + { + useTvDb = true; + } + var tvDbId = child.ParentRequest.TvDbId; - var seriesEpisodes = plexEpisodes.Where(x => x.Series.TvDbId == tvDbId.ToString()); + var imdbId = child.ParentRequest.ImdbId; + IQueryable seriesEpisodes = null; + if (useImdb) + { + seriesEpisodes = plexEpisodes.Where(x => x.Series.ImdbId == imdbId.ToString()); + } + if (useTvDb) + { + seriesEpisodes = plexEpisodes.Where(x => x.Series.TvDbId == tvDbId.ToString()); + } foreach (var season in child.SeasonRequests) { foreach (var episode in season.Episodes) @@ -87,8 +110,19 @@ namespace Ombi.Schedule.Jobs.Plex foreach (var movie in movies) { - var plexContent = await _repo.Get(movie.ImdbId); - if (plexContent == null) + PlexServerContent item = null; + if (movie.ImdbId.HasValue()) + { + item = await _repo.Get(movie.ImdbId); + } + if (item == null) + { + if (movie.TheMovieDbId.ToString().HasValue()) + { + item = await _repo.Get(movie.TheMovieDbId.ToString()); + } + } + if (item == null) { // We don't yet have this continue;