private void AddTvTitle(TvInfo tvInfo) { var title = ""; if (!String.IsNullOrEmpty(tvInfo.first_air_date) && tvInfo.first_air_date.Length > 4) { title = $"{tvInfo.name} ({tvInfo.first_air_date.Remove(4)})"; } else { title = $"{tvInfo.name}"; } AddTitle($"https://www.themoviedb.org/tv/{tvInfo.id}/", title); }
public async Task <TvShowRequestBuilderV2> GetShowInfo(int id) { TheMovieDbRecord = await MovieDbApi.GetTVInfo(id.ToString()); BackdropPath = TheMovieDbRecord.Images?.Backdrops?.OrderBy(x => x.VoteCount).ThenBy(x => x.VoteAverage).FirstOrDefault()?.FilePath;; DateTime.TryParse(TheMovieDbRecord.first_air_date, out var dt); FirstAir = dt; // For some reason the poster path is always http PosterPath = TheMovieDbRecord.Images?.Posters?.OrderBy(x => x.VoteCount).ThenBy(x => x.VoteAverage).FirstOrDefault()?.FilePath; return(this); }
private void AddTvEpisodesSummaryGenres(string episodes, TvInfo tvInfo) { var summary = tvInfo.overview; if (summary.Length > 280) { summary = summary.Remove(280); summary = summary + "...</p>"; } AddTvParagraph(episodes, summary); if (tvInfo.genres.Any()) { AddGenres($"{Texts.GenresLabel} {string.Join(", ", tvInfo.genres.Select(x => x.name.ToString()).ToArray())}"); } }
private string GetTvEpisodesString(TvInfo tvInfo, ICollection <IMediaServerEpisode> episodes) { if (episodes.Count >= tvInfo.number_of_episodes) { // do not list individual episodes when the series is complete return(string.Empty); } var sb = new StringBuilder(); // Group by the season number var seasons = episodes.GroupBy(p => p.SeasonNumber, (key, g) => new { SeasonNumber = key, Episodes = g.ToList(), Header = tvInfo?.seasons?.Where(x => x.season_number == key).FirstOrDefault(), } ); // Group the episodes foreach (var season in seasons.OrderBy(x => x.SeasonNumber)) { string episodeList; if (season.Episodes.Count >= season.Header.episode_count) { // do not list individual episodes when the season is complete episodeList = string.Empty; } else { var orderedEpisodes = season.Episodes.OrderBy(x => x.EpisodeNumber).ToList(); episodeList = $"{Texts.EpisodesLabel} {StringHelper.BuildEpisodeList(orderedEpisodes.Select(x => x.EpisodeNumber))}"; } var episodeAirDate = season.Header.air_date; sb.Append($"{Texts.SeasonLabel} {season.SeasonNumber} - {episodeList} {episodeAirDate}"); sb.Append("<br />"); } return(sb.ToString()); }
public async Task <TvShowRequestBuilderV2> GetShowInfo(int id, string langCode = "en") { TheMovieDbRecord = await MovieDbApi.GetTVInfo(id.ToString(), langCode); // Remove 'Specials Season' var firstSeason = TheMovieDbRecord.seasons.OrderBy(x => x.season_number).FirstOrDefault(); if (firstSeason?.season_number == 0) { TheMovieDbRecord.seasons.Remove(firstSeason); } BackdropPath = TheMovieDbRecord.Images?.Backdrops?.OrderBy(x => x.VoteCount).ThenBy(x => x.VoteAverage).FirstOrDefault()?.FilePath;; DateTime.TryParse(TheMovieDbRecord.first_air_date, out var dt); FirstAir = dt; // For some reason the poster path is always http PosterPath = TheMovieDbRecord.Images?.Posters?.OrderBy(x => x.VoteCount).ThenBy(x => x.VoteAverage).FirstOrDefault()?.FilePath; return(this); }