private Series Adapt(SeriesExtendedRecord theTvDbSeries) { Adapt(theTvDbSeries, out Series series); Adapt(theTvDbSeries, out SeriesImageUrls seriesMetadata); series.ImageUrls = seriesMetadata; return(series); }
private Series Adapt(SearchResult searchResult, SeriesExtendedRecord theTvDbSeries) { Adapt(searchResult, out Series series); if (theTvDbSeries == null) { return(series); } Adapt(theTvDbSeries, out SeriesImageUrls seriesMetadata); series.ImageUrls = seriesMetadata; return(series); }
private void Adapt(SeriesExtendedRecord input, out Series output) { output = new Series { Id = input.Id?.ToString(), Name = input.Name, ImdbId = input.RemoteIds?.FirstOrDefault(x => x.Type == RemoteIdType.IMDB)?.Id, Description = input.Translations?.OverviewTranslations?.FirstOrDefault(x => x.Language == "eng")?.Overview, Year = input.FirstAired.ToTvDbDate()?.Year, ReleaseDate = input.FirstAired.ToTvDbDate(), Genres = input.Genres?.Select(x => x.Name)?.ToArray(), Networks = input.Networks?.Select(x => x.Name)?.Concat( input.Companies?.Where(x => x.CompanyType.Id == CompanyType.Network).Select(x => x.Name)).Distinct(StringComparer.OrdinalIgnoreCase).ToArray(), Status = input.Status?.Name }; }
private Series Adapt( SeriesExtendedRecord theTvDbSeries, List <SeasonBaseRecord> theTvDbSeasons, Dictionary <long, List <EpisodeBaseRecord> > theTvDbEpisodes, Dictionary <long, Translation> overviews ) { var series = Adapt(theTvDbSeries); foreach (var theTvDbSeason in theTvDbSeasons) { Season season = new Season { Series = series, SeasonNumber = (int)theTvDbSeason.Number }; if (theTvDbEpisodes.ContainsKey(theTvDbSeason.Number)) { var theTvDbEpisodesInSeason = theTvDbEpisodes[theTvDbSeason.Number].OrderBy(x => x.Number).ToArray(); foreach (var theTvDbEpisode in theTvDbEpisodesInSeason) { Episode episode = new Episode { Series = series, Season = season, EpisodeNumber = (int)theTvDbEpisode.Number, Title = theTvDbEpisode.Name, AirDate = theTvDbEpisode.Aired.ToTvDbDate(), AdditionalData = new Dictionary <string, object>(StringComparer.OrdinalIgnoreCase) }; JsonConvert.PopulateObject(JsonConvert.SerializeObject(theTvDbEpisode), episode.AdditionalData); if (overviews.ContainsKey(theTvDbEpisode.Id)) { episode.Description = overviews[theTvDbEpisode.Id].Overview; } season.Episodes.Add(episode); } } series.Seasons.Add(season); } return(series); }
private void Adapt(SeriesExtendedRecord theTvDbSeries, out SeriesImageUrls output) { output = new SeriesImageUrls(); output.PosterImageUrls = theTvDbSeries.Artwork? .Where(x => x.Type == ArtworkType.Poster) .OrderByDescending(x => x.Score) .Take(MaxImageResults) .Select(x => x.Image) .ToArray(); output.BackgroundImageUrls = theTvDbSeries.Artwork? .Where(x => x.Type == ArtworkType.Background) .OrderByDescending(x => x.Score) .Take(MaxImageResults) .Select(x => x.Image) .ToArray(); output.BannerImageUrls = theTvDbSeries.Artwork? .Where(x => x.Type == ArtworkType.Banner) .OrderByDescending(x => x.Score) .Take(MaxImageResults) .Select(x => x.Image) .ToArray(); }