public async Task <MetadataResult <Movie> > GetMetadata(MovieInfo info, CancellationToken cancellationToken) { // Empty result var result = new MetadataResult <Movie> { HasMetadata = false, Item = new Movie { Name = info.Name } }; var seriesId = info.ProviderIds.GetOrDefault(ProviderNames.AniDb); if (seriesId == null) { return(result); } var seriesInfo = new SeriesInfo(); seriesInfo.ProviderIds.Add(ProviderNames.AniDb, seriesId); var seriesResult = await _seriesProvider.GetMetadata(seriesInfo, cancellationToken); if (seriesResult.HasMetadata) { result = new MetadataResult <Movie> { HasMetadata = true, Item = new Movie { Name = seriesResult.Item.Name, Overview = seriesResult.Item.Overview, PremiereDate = seriesResult.Item.PremiereDate, ProductionYear = seriesResult.Item.ProductionYear, EndDate = seriesResult.Item.EndDate, CommunityRating = seriesResult.Item.CommunityRating, Studios = seriesResult.Item.Studios, Genres = seriesResult.Item.Genres, ProviderIds = seriesResult.Item.ProviderIds, }, People = seriesResult.People, Images = seriesResult.Images }; } return(result); }
public async Task <MetadataResult <Season> > GetMetadata(SeasonInfo info, CancellationToken cancellationToken) { var result = new MetadataResult <Season> { HasMetadata = true, Item = new Season { Name = info.Name, IndexNumber = info.IndexNumber } }; var seriesId = info.ProviderIds.GetOrDefault(ProviderNames.AniDb); if (seriesId == null) { return(result); } var seriesInfo = new SeriesInfo(); seriesInfo.ProviderIds.Add(ProviderNames.AniDb, seriesId); var seriesResult = await _seriesProvider.GetMetadata(seriesInfo, cancellationToken); if (seriesResult.HasMetadata) { result.Item.Name = seriesResult.Item.Name; result.Item.Overview = seriesResult.Item.Overview; result.Item.PremiereDate = seriesResult.Item.PremiereDate; result.Item.EndDate = seriesResult.Item.EndDate; result.Item.CommunityRating = seriesResult.Item.CommunityRating; result.Item.Studios = seriesResult.Item.Studios; result.Item.Genres = seriesResult.Item.Genres; } return(result); }