JryVideo.Core.TheTVDB.TheTVDBClient.GetBannersBySeriesIdAsync C# (CSharp) Method

GetBannersBySeriesIdAsync() public method

public GetBannersBySeriesIdAsync ( string seriesId ) : Task>
seriesId string
return Task>
        public async Task<IEnumerable<Banner>> GetBannersBySeriesIdAsync(string seriesId)
        {
            if (seriesId == null) throw new ArgumentNullException(nameof(seriesId));

            var url = $"{this.allMirror.RandomTake().MirrorPath}/api/{this.apiKey}/series/{seriesId}/banners.xml";
            var request = WebRequest.CreateHttp(url);
            var result = (await request.GetResultAsBytesAsync()).AsXml<BannerArray>();
            return result.IsSuccess && result.Result.Banners != null
                ? result.Result.Banners
                : Enumerable.Empty<Banner>();
        }

Usage Example

        private async Task<bool> LoadFanartByImdbIdAsync(TheTVDBClient client, RemoteId id, string index = null)
        {
            var seriesId = await client.TryGetTheTVDBSeriesIdByRemoteIdAsync(id);
            if (seriesId == null) return false;

            var urls = (await client.GetBannersBySeriesIdAsync(seriesId)).Where(z => z.BannerType == BannerType.Fanart)
                .Where(z => index == null || z.Season == index)
                .Select(z => z.BuildUrl(client))
                .ToArray();
            if (urls.Length > 0)
            {
                this.Load(urls);
                return true;
            }
            return false;
        }
All Usage Examples Of JryVideo.Core.TheTVDB.TheTVDBClient::GetBannersBySeriesIdAsync