From f62e97bb32818c3b454ca6f347053e82e1029866 Mon Sep 17 00:00:00 2001 From: Jamie Date: Tue, 24 Apr 2018 08:09:11 +0100 Subject: [PATCH] Fixed bug #2188 #2134 --- src/Ombi.Helpers/StringHelper.cs | 10 ++++++++++ src/Ombi.Schedule/Jobs/Ombi/NewsletterJob.cs | 18 +++++++++--------- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/Ombi.Helpers/StringHelper.cs b/src/Ombi.Helpers/StringHelper.cs index daa8cabe7..aba120c65 100644 --- a/src/Ombi.Helpers/StringHelper.cs +++ b/src/Ombi.Helpers/StringHelper.cs @@ -65,5 +65,15 @@ namespace Ombi.Helpers securePassword.MakeReadOnly(); return securePassword; } + + public static int IntParseLinq(string stringIn) + { + if (int.TryParse(stringIn, out var result)) + { + return result; + } + + return -1; + } } } \ No newline at end of file diff --git a/src/Ombi.Schedule/Jobs/Ombi/NewsletterJob.cs b/src/Ombi.Schedule/Jobs/Ombi/NewsletterJob.cs index 79731637b..8b246e97e 100644 --- a/src/Ombi.Schedule/Jobs/Ombi/NewsletterJob.cs +++ b/src/Ombi.Schedule/Jobs/Ombi/NewsletterJob.cs @@ -98,8 +98,8 @@ namespace Ombi.Schedule.Jobs.Ombi addedLog.Where(x => x.Type == RecentlyAddedType.Emby && x.ContentType == ContentType.Episode); // Filter out the ones that we haven't sent yet - var plexContentMoviesToSend = plexContent.Where(x => x.Type == PlexMediaTypeEntity.Movie && !addedPlexMovieLogIds.Contains(int.Parse(x.TheMovieDbId))); - var embyContentMoviesToSend = embyContent.Where(x => x.Type == EmbyMediaType.Movie && !addedEmbyMoviesLogIds.Contains(int.Parse(x.TheMovieDbId))); + var plexContentMoviesToSend = plexContent.Where(x => x.Type == PlexMediaTypeEntity.Movie && !addedPlexMovieLogIds.Contains(StringHelper.IntParseLinq(x.TheMovieDbId))); + var embyContentMoviesToSend = embyContent.Where(x => x.Type == EmbyMediaType.Movie && !addedEmbyMoviesLogIds.Contains(StringHelper.IntParseLinq(x.TheMovieDbId))); _log.LogInformation("Plex Movies to send: {0}", plexContentMoviesToSend.Count()); _log.LogInformation("Emby Movies to send: {0}", embyContentMoviesToSend.Count()); @@ -173,7 +173,7 @@ namespace Ombi.Schedule.Jobs.Ombi AddedAt = DateTime.Now, Type = RecentlyAddedType.Plex, ContentType = ContentType.Parent, - ContentId = int.Parse(p.TheMovieDbId), + ContentId = StringHelper.IntParseLinq(p.TheMovieDbId), }); } @@ -185,7 +185,7 @@ namespace Ombi.Schedule.Jobs.Ombi AddedAt = DateTime.Now, Type = RecentlyAddedType.Plex, ContentType = ContentType.Episode, - ContentId = int.Parse(p.Series.TvDbId), + ContentId = StringHelper.IntParseLinq(p.Series.TvDbId), EpisodeNumber = p.EpisodeNumber, SeasonNumber = p.SeasonNumber }); @@ -199,7 +199,7 @@ namespace Ombi.Schedule.Jobs.Ombi AddedAt = DateTime.Now, Type = RecentlyAddedType.Emby, ContentType = ContentType.Parent, - ContentId = int.Parse(e.TheMovieDbId), + ContentId = StringHelper.IntParseLinq(e.TheMovieDbId), }); } } @@ -211,7 +211,7 @@ namespace Ombi.Schedule.Jobs.Ombi AddedAt = DateTime.Now, Type = RecentlyAddedType.Emby, ContentType = ContentType.Episode, - ContentId = int.Parse(p.Series.TvDbId), + ContentId = StringHelper.IntParseLinq(p.Series.TvDbId), EpisodeNumber = p.EpisodeNumber, SeasonNumber = p.SeasonNumber }); @@ -259,7 +259,7 @@ namespace Ombi.Schedule.Jobs.Ombi var itemsToReturn = new HashSet(); foreach (var ep in source) { - var tvDbId = int.Parse(ep.Series.TvDbId); + var tvDbId = StringHelper.IntParseLinq(ep.Series.TvDbId); if (recentlyAdded.Any(x => x.ContentId == tvDbId && x.EpisodeNumber == ep.EpisodeNumber && x.SeasonNumber == ep.SeasonNumber)) { continue; @@ -276,7 +276,7 @@ namespace Ombi.Schedule.Jobs.Ombi var itemsToReturn = new HashSet(); foreach (var ep in source) { - var tvDbId = int.Parse(ep.Series.TvDbId); + var tvDbId = StringHelper.IntParseLinq(ep.Series.TvDbId); if (recentlyAdded.Any(x => x.ContentId == tvDbId && x.EpisodeNumber == ep.EpisodeNumber && x.SeasonNumber == ep.SeasonNumber)) { continue; @@ -374,7 +374,7 @@ namespace Ombi.Schedule.Jobs.Ombi theMovieDbId = result.id.ToString(); } - var info = await _movieApi.GetMovieInformationWithExtraInfo(int.Parse(theMovieDbId)); + var info = await _movieApi.GetMovieInformationWithExtraInfo(StringHelper.IntParseLinq(theMovieDbId)); if (info == null) { continue;