private MediaServer.Models.ProtoGenerated.Series BuildInternal(SonarrSharp.Models.Series series) { return(new MediaServer.Models.ProtoGenerated.Series { Id = series.Id, Title = series.Title, ImagesUrl = new ImagesUrl { Banner = $"/MediaCover/{series.Id}/banner.jpg", Poster = $"/MediaCover/{series.Id}/poster.jpg", Fanart = $"/MediaCover/{series.Id}/fanart.jpg", }, Overview = series.Overview, Monitored = series.Monitored, }); }
private async Task <IList <Media> > GetSeriesInformationAsync(SonarrSeries serie) { var media = new List <Media>(); var episodesTask = _client.Episode.GetEpisodes(serie.Id); var episodeFilesTask = _client.EpisodeFile.GetEpisodeFiles(serie.Id); await Task.WhenAll(episodesTask, episodeFilesTask); var episodes = await episodesTask; var episodeFiles = await episodeFilesTask; foreach (var episode in episodes.Where(episode => episode.HasFile)) { var episodeFile = episodeFiles.FirstOrDefault(ef => ef.Id == episode.EpisodeFileId); media.Add(ConvertEpisode(serie, episode, episodeFile)); } return(media); }
private Episode ConvertEpisode(SonarrSeries serie, SonarrEpisode episode, SonarrEpisodeFile file) { var converted = new Episode { Title = serie.Title, Year = serie.Year, ImdbId = serie.ImdbId, SeriesFolder = serie.Path, SeasonNumber = episode.SeasonNumber, EpisodeNumber = episode.EpisodeNumber }; if (file != null) { converted.File = Path.GetFileName(file.Path); converted.OriginalName = file.SceneName; converted.Quality = file.Quality.Quality.Name.ToString(); converted.Proper = file.Quality.Proper; } return(converted); }
public MediaServer.Models.ProtoGenerated.Series Build(SonarrSharp.Models.Series series) { return(BuildInternal(series)); }