diff --git a/src/Ombi.Core/Engine/MusicRequestEngine.cs b/src/Ombi.Core/Engine/MusicRequestEngine.cs index 67caa81a2..b3c0f8f67 100644 --- a/src/Ombi.Core/Engine/MusicRequestEngine.cs +++ b/src/Ombi.Core/Engine/MusicRequestEngine.cs @@ -99,7 +99,7 @@ namespace Ombi.Core.Engine { return new RequestEngineResult { - ErrorMessage = ruleResults.FirstOrDefault(x => x.Message.HasValue()).Message + ErrorMessage = ruleResults.FirstOrDefault(x => x.Message.HasValue())?.Message }; } diff --git a/src/Ombi.Core/Engine/TvRequestEngine.cs b/src/Ombi.Core/Engine/TvRequestEngine.cs index 8ccc6d17e..7cd04c2da 100644 --- a/src/Ombi.Core/Engine/TvRequestEngine.cs +++ b/src/Ombi.Core/Engine/TvRequestEngine.cs @@ -89,7 +89,7 @@ namespace Ombi.Core.Engine { return new RequestEngineResult { - ErrorMessage = results.FirstOrDefault(x => !string.IsNullOrEmpty(x.Message)).Message + ErrorMessage = results.FirstOrDefault(x => !string.IsNullOrEmpty(x.Message))?.Message }; } @@ -198,7 +198,7 @@ namespace Ombi.Core.Engine { return new RequestEngineResult { - ErrorMessage = results.FirstOrDefault(x => !string.IsNullOrEmpty(x.Message)).Message + ErrorMessage = results.FirstOrDefault(x => !string.IsNullOrEmpty(x.Message))?.Message }; } diff --git a/src/Ombi.Core/ImageService.cs b/src/Ombi.Core/ImageService.cs index 9df9ef6e1..90c411c13 100644 --- a/src/Ombi.Core/ImageService.cs +++ b/src/Ombi.Core/ImageService.cs @@ -61,7 +61,7 @@ namespace Ombi.Core if (images?.backdrops?.Any() ?? false) { - return images.backdrops.Select(x => x.file_path).FirstOrDefault(); + return images?.backdrops.Select(x => x.file_path).FirstOrDefault(); } if (images?.posters?.Any() ?? false) { @@ -85,7 +85,7 @@ namespace Ombi.Core } else { - return images.posters.Select(x => x.file_path).First(); + return images?.posters.Select(x => x.file_path).First(); } } diff --git a/src/Ombi.Core/Senders/TvSender.cs b/src/Ombi.Core/Senders/TvSender.cs index 22f6aadcd..fd9cda22b 100644 --- a/src/Ombi.Core/Senders/TvSender.cs +++ b/src/Ombi.Core/Senders/TvSender.cs @@ -524,7 +524,7 @@ namespace Ombi.Core.Senders if (pathId == 0) { - return rootFoldersResult.FirstOrDefault().path; + return rootFoldersResult.FirstOrDefault()?.path; } foreach (var r in rootFoldersResult.Where(r => r.id == pathId)) diff --git a/src/Ombi.Mapping/Profiles/TvProfileV2.cs b/src/Ombi.Mapping/Profiles/TvProfileV2.cs index 09021efb2..ba221582e 100644 --- a/src/Ombi.Mapping/Profiles/TvProfileV2.cs +++ b/src/Ombi.Mapping/Profiles/TvProfileV2.cs @@ -21,7 +21,7 @@ namespace Ombi.Mapping.Profiles .ForMember(dest => dest.ImdbId, opts => opts.MapFrom(src => src.ExternalIds.ImdbId)) .ForMember(dest => dest.TheTvDbId, opts => opts.MapFrom(src => src.ExternalIds.TvDbId)) .ForMember(dest => dest.Network, opts => opts.MapFrom(src => src.networks.FirstOrDefault())) - .ForMember(dest => dest.NetworkId, opts => opts.MapFrom(src => src.networks.FirstOrDefault().id)) + .ForMember(dest => dest.NetworkId, opts => opts.MapFrom(src => src.networks.FirstOrDefault()?.id)) .ForMember(dest => dest.Overview, opts => opts.MapFrom(src => src.overview)) .ForMember(dest => dest.Rating, opts => opts.MapFrom(src => src.vote_average.ToString(CultureInfo.CurrentUICulture))) diff --git a/src/Ombi.Notifications/NotificationMessageCurlys.cs b/src/Ombi.Notifications/NotificationMessageCurlys.cs index 7696c9c16..3c7857f8c 100644 --- a/src/Ombi.Notifications/NotificationMessageCurlys.cs +++ b/src/Ombi.Notifications/NotificationMessageCurlys.cs @@ -167,7 +167,7 @@ namespace Ombi.Notifications if (Alias.IsNullOrEmpty()) { Alias = req?.RequestedUser?.Alias.HasValue() ?? false - ? req.RequestedUser?.Alias + ? req?.RequestedUser?.Alias : req?.RequestedUser?.UserName; } diff --git a/src/Ombi.Schedule/Jobs/Emby/EmbyAvaliabilityChecker.cs b/src/Ombi.Schedule/Jobs/Emby/EmbyAvaliabilityChecker.cs index 8e8b75e45..67ed8b97a 100644 --- a/src/Ombi.Schedule/Jobs/Emby/EmbyAvaliabilityChecker.cs +++ b/src/Ombi.Schedule/Jobs/Emby/EmbyAvaliabilityChecker.cs @@ -64,7 +64,7 @@ namespace Ombi.Schedule.Jobs.Emby { var has4kRequest = movie.Has4KRequest; EmbyContent embyContent = null; - if (movie.TheMovieDbId > 0) + if (movie?.TheMovieDbId > 0) { embyContent = await _repo.GetByTheMovieDbId(movie.TheMovieDbId.ToString()); } diff --git a/src/Ombi.Schedule/Jobs/Emby/EmbyContentSync.cs b/src/Ombi.Schedule/Jobs/Emby/EmbyContentSync.cs index 27cdf0f3a..1da54e367 100644 --- a/src/Ombi.Schedule/Jobs/Emby/EmbyContentSync.cs +++ b/src/Ombi.Schedule/Jobs/Emby/EmbyContentSync.cs @@ -179,7 +179,7 @@ namespace Ombi.Schedule.Jobs.Emby Title = tvShow.Name, Type = MediaType.Series, EmbyId = tvShow.Id, - Url = EmbyHelper.GetEmbyMediaUrl(tvShow.Id, server?.ServerId, server.ServerHostname), + Url = EmbyHelper.GetEmbyMediaUrl(tvShow.Id, server?.ServerId, server?.ServerHostname), AddedAt = DateTime.UtcNow, }); } @@ -284,7 +284,7 @@ namespace Ombi.Schedule.Jobs.Emby else { var movieHasChanged = false; - if (existingMovie.ImdbId != movieInfo.ProviderIds.Imdb || existingMovie.TheMovieDbId != movieInfo.ProviderIds.Tmdb) + if (existingMovie?.ImdbId != movieInfo.ProviderIds.Imdb || existingMovie?.TheMovieDbId != movieInfo.ProviderIds.Tmdb) { _logger.LogDebug($"Updating existing movie '{movieInfo.Name}'"); MapEmbyContent(existingMovie, movieInfo, server, has4K, quality); @@ -315,12 +315,12 @@ namespace Ombi.Schedule.Jobs.Emby } private void MapEmbyContent(EmbyContent content, EmbyMovie movieInfo, EmbyServers server, bool has4K, string quality){ - content.ImdbId = movieInfo.ProviderIds.Imdb; + content.ImdbId = movieInfo.ProviderIds?.Imdb; content.TheMovieDbId = movieInfo.ProviderIds?.Tmdb; content.Title = movieInfo.Name; content.Type = MediaType.Movie; content.EmbyId = movieInfo.Id; - content.Url = EmbyHelper.GetEmbyMediaUrl(movieInfo.Id, server?.ServerId, server.ServerHostname); + content.Url = EmbyHelper.GetEmbyMediaUrl(movieInfo.Id, server?.ServerId, server?.ServerHostname); content.Quality = has4K ? null : quality; content.Has4K = has4K; } diff --git a/src/Ombi.Schedule/Jobs/Jellyfin/JellyfinAvaliabilityChecker.cs b/src/Ombi.Schedule/Jobs/Jellyfin/JellyfinAvaliabilityChecker.cs index 79eb5d6a4..7369e699b 100644 --- a/src/Ombi.Schedule/Jobs/Jellyfin/JellyfinAvaliabilityChecker.cs +++ b/src/Ombi.Schedule/Jobs/Jellyfin/JellyfinAvaliabilityChecker.cs @@ -89,7 +89,7 @@ namespace Ombi.Schedule.Jobs.Jellyfin { var has4kRequest = movie.Has4KRequest; JellyfinContent jellyfinContent = null; - if (movie.TheMovieDbId > 0) + if (movie?.TheMovieDbId > 0) { jellyfinContent = await _repo.GetByTheMovieDbId(movie.TheMovieDbId.ToString()); } diff --git a/src/Ombi.Schedule/Jobs/Jellyfin/JellyfinContentSync.cs b/src/Ombi.Schedule/Jobs/Jellyfin/JellyfinContentSync.cs index 5519b3413..845d2fa83 100644 --- a/src/Ombi.Schedule/Jobs/Jellyfin/JellyfinContentSync.cs +++ b/src/Ombi.Schedule/Jobs/Jellyfin/JellyfinContentSync.cs @@ -154,7 +154,7 @@ namespace Ombi.Schedule.Jobs.Jellyfin Title = tvShow.Name, Type = MediaType.Series, JellyfinId = tvShow.Id, - Url = JellyfinHelper.GetJellyfinMediaUrl(tvShow.Id, server?.ServerId, server.ServerHostname), + Url = JellyfinHelper.GetJellyfinMediaUrl(tvShow.Id, server?.ServerId, server?.ServerHostname), AddedAt = DateTime.UtcNow }); } @@ -249,7 +249,7 @@ namespace Ombi.Schedule.Jobs.Jellyfin else { var movieHasChanged = false; - if (existingMovie.ImdbId != movieInfo.ProviderIds.Imdb || existingMovie.TheMovieDbId != movieInfo.ProviderIds.Tmdb) + if (existingMovie?.ImdbId != movieInfo.ProviderIds.Imdb || existingMovie?.TheMovieDbId != movieInfo.ProviderIds.Tmdb) { _logger.LogDebug($"Updating existing movie '{movieInfo.Name}'"); MapJellyfinMovie(existingMovie, movieInfo, server, has4K, quality); @@ -282,12 +282,12 @@ namespace Ombi.Schedule.Jobs.Jellyfin private void MapJellyfinMovie(JellyfinContent content, JellyfinMovie movieInfo, JellyfinServers server, bool has4K, string quality) { - content.ImdbId = movieInfo.ProviderIds.Imdb; + content.ImdbId = movieInfo.ProviderIds?.Imdb; content.TheMovieDbId = movieInfo.ProviderIds?.Tmdb; content.Title = movieInfo.Name; content.Type = MediaType.Movie; content.JellyfinId = movieInfo.Id; - content.Url = JellyfinHelper.GetJellyfinMediaUrl(movieInfo.Id, server?.ServerId, server.ServerHostname); + content.Url = JellyfinHelper.GetJellyfinMediaUrl(movieInfo.Id, server?.ServerId, server?.ServerHostname); content.Quality = has4K ? null : quality; content.Has4K = has4K; } diff --git a/src/Ombi.Schedule/Jobs/Ombi/HtmlTemplateGenerator.cs b/src/Ombi.Schedule/Jobs/Ombi/HtmlTemplateGenerator.cs index 9d49fe2f1..4a77ce295 100644 --- a/src/Ombi.Schedule/Jobs/Ombi/HtmlTemplateGenerator.cs +++ b/src/Ombi.Schedule/Jobs/Ombi/HtmlTemplateGenerator.cs @@ -19,7 +19,7 @@ namespace Ombi.Schedule.Jobs.Ombi { sb.Append("