示例#1
0
 private Series Adapt(TheTvDbSeries theTvDbSeries, TheTvDbSeriesImageResults theTvDbSeriesImages)
 {
     Adapt(theTvDbSeries, out Series series);
     Adapt(theTvDbSeries, theTvDbSeriesImages, out SeriesImageUrls seriesMetadata);
     series.ImageUrls = seriesMetadata;
     return(series);
 }
示例#2
0
        private async Task <Series> GetSeriesInfo(ISeriesIdentifier seriesIdentifier, string authToken,
                                                  IWebProxy proxyPreferences)
        {
            Task <string> getSeriesTask       = _apiDownloader.GetSeriesAsync(seriesIdentifier, authToken, proxyPreferences);
            Task <string> getSeriesImagesTask =
                _apiDownloader.GetSeriesImagesAsync(seriesIdentifier, authToken, proxyPreferences);

            await Task.WhenAll(getSeriesTask, getSeriesImagesTask);

            string seriesJson = getSeriesTask.Result;
            TheTvDbSeriesResult seriesResults = JsonConvert.DeserializeObject <TheTvDbSeriesResult>(seriesJson);

            string imagesJson = getSeriesImagesTask.Result;
            TheTvDbSeriesImageResults imageResults =
                JsonConvert.DeserializeObject <TheTvDbSeriesImageResults>(imagesJson);

            Series series = Adapt(seriesResults.Data, imageResults);

            return(series);
        }
示例#3
0
        private void Adapt(TheTvDbSeries theTvDbSeries, TheTvDbSeriesImageResults images, out SeriesImageUrls output)
        {
            output = new SeriesImageUrls();
            if (images == null)
            {
                return;
            }

            output.PosterImageUrls = images.Poster?.Data?.Take(MaxImageResults)
                                     .Select(x => _configurationValues.ArtworkBaseUrl + "/" + x.FileName)
                                     .ToArray();
            output.BackgroundImageUrls = images.FanArt?.Data?.Take(MaxImageResults)
                                         .Select(x => _configurationValues.ArtworkBaseUrl + "/" + x.FileName)
                                         .ToArray();
            output.BannerImageUrls =
                ((!string.IsNullOrWhiteSpace(theTvDbSeries.Banner) ? new [] { theTvDbSeries.Banner } : new string[0])
                 .Concat(images.Series?.Data?.Select(x => x.FileName) ?? new string[0]))
                .Distinct(StringComparer.OrdinalIgnoreCase)
                .Take(MaxImageResults)
                .Select(x => _configurationValues.ArtworkBaseUrl + "/" + x)
                .ToArray();
        }