diff --git a/src/Ombi.Core/Engine/TvSearchEngine.cs b/src/Ombi.Core/Engine/TvSearchEngine.cs index 38ba8be1a..433cacee0 100644 --- a/src/Ombi.Core/Engine/TvSearchEngine.cs +++ b/src/Ombi.Core/Engine/TvSearchEngine.cs @@ -59,7 +59,12 @@ namespace Ombi.Core.Engine { continue; } - retVal.Add(await ProcessResult(tvMazeSearch, false)); + var mappedResult = await ProcessResult(tvMazeSearch, false); + if (mappedResult == null) + { + continue; + } + retVal.Add(mappedResult); } return retVal; } @@ -194,7 +199,7 @@ namespace Ombi.Core.Engine foreach (var tvMazeSearch in items) { var result = await ProcessResult(tvMazeSearch, includeImages); - if(settings.HideAvailableFromDiscover && result.Available) + if (result == null || settings.HideAvailableFromDiscover && result.Available) { continue; } @@ -211,15 +216,17 @@ namespace Ombi.Core.Engine private async Task ProcessResult(SearchTvShowViewModel item, bool includeImages) { + if (item.Id == 0) + { + return null; + } item.TheTvDbId = item.Id.ToString(); if (includeImages) { - - if (item.TheTvDbId.HasValue()) - { - item.BackdropPath = await _imageService.GetTvBackground(item.TheTvDbId); - } - + if (item.TheTvDbId.HasValue()) + { + item.BackdropPath = await _imageService.GetTvBackground(item.TheTvDbId); + } } await RunSearchRules(item); diff --git a/src/Ombi.Mapping/Profiles/TvProfile.cs b/src/Ombi.Mapping/Profiles/TvProfile.cs index 8cb4e38b6..0e1378d95 100644 --- a/src/Ombi.Mapping/Profiles/TvProfile.cs +++ b/src/Ombi.Mapping/Profiles/TvProfile.cs @@ -47,7 +47,7 @@ namespace Ombi.Mapping.Profiles CreateMap() - .ForMember(dest => dest.Id, opts => opts.MapFrom(src => Convert.ToInt32(src.Ids.Tvdb.ToString()))) + .ForMember(dest => dest.Id, opts => opts.MapFrom(src => src.Ids.Tvdb.HasValue ? Convert.ToInt32(src.Ids.Tvdb.ToString()) : 0)) .ForMember(dest => dest.FirstAired, opts => opts.MapFrom(src => src.FirstAired.HasValue ? src.FirstAired.Value.ToString("yyyy-MM-ddTHH:mm:ss") : string.Empty)) .ForMember(dest => dest.ImdbId, opts => opts.MapFrom(src => src.Ids.Imdb)) .ForMember(dest => dest.Network, opts => opts.MapFrom(src => src.Network)) @@ -57,9 +57,9 @@ namespace Ombi.Mapping.Profiles .ForMember(dest => dest.Title, opts => opts.MapFrom(src => src.Title)) .ForMember(dest => dest.Status, opts => opts.MapFrom(src => TraktEnumHelper.GetDescription(src.Status))) .ForMember(dest => dest.Trailer, - opts => opts.MapFrom(src => src.Trailer.ToString().ToHttpsUrl())) + opts => opts.MapFrom(src => src.Trailer != null ? src.Trailer.ToString().ToHttpsUrl() : string.Empty)) .ForMember(dest => dest.Homepage, - opts => opts.MapFrom(src => src.Homepage.ToString().ToHttpsUrl())); + opts => opts.MapFrom(src => src.Homepage != null ? src.Homepage.ToString().ToHttpsUrl() : string.Empty)); } } } \ No newline at end of file