private async Task AssignTrailers(IHasTrailers item, BaseItem[] channelTrailers) { if (item is Game) { return; } var imdbId = item.GetProviderId(MetadataProviders.Imdb); var tmdbId = item.GetProviderId(MetadataProviders.Tmdb); var trailers = channelTrailers.Where(i => { if (!string.IsNullOrWhiteSpace(imdbId) && string.Equals(imdbId, i.GetProviderId(MetadataProviders.Imdb), StringComparison.OrdinalIgnoreCase)) { return true; } if (!string.IsNullOrWhiteSpace(tmdbId) && string.Equals(tmdbId, i.GetProviderId(MetadataProviders.Tmdb), StringComparison.OrdinalIgnoreCase)) { return true; } return false; }); var trailerIds = trailers.Select(i => i.Id) .ToList(); if (!trailerIds.SequenceEqual(item.RemoteTrailerIds)) { item.RemoteTrailerIds = trailerIds; var baseItem = (BaseItem)item; await baseItem.UpdateToRepository(ItemUpdateType.MetadataImport, CancellationToken.None) .ConfigureAwait(false); } }
private async Task AssignTrailers(IHasTrailers item, BaseItem[] channelTrailers) { if (item is Game) { return; } var imdbId = item.GetProviderId(MetadataProviders.Imdb); var tmdbId = item.GetProviderId(MetadataProviders.Tmdb); var trailers = channelTrailers.Where(i => { if (!string.IsNullOrWhiteSpace(imdbId) && string.Equals(imdbId, i.GetProviderId(MetadataProviders.Imdb), StringComparison.OrdinalIgnoreCase)) { return(true); } if (!string.IsNullOrWhiteSpace(tmdbId) && string.Equals(tmdbId, i.GetProviderId(MetadataProviders.Tmdb), StringComparison.OrdinalIgnoreCase)) { return(true); } return(false); }); var trailerIds = trailers.Select(i => i.Id) .ToList(); if (!trailerIds.SequenceEqual(item.RemoteTrailerIds)) { item.RemoteTrailerIds = trailerIds; var baseItem = (BaseItem)item; await baseItem.UpdateToRepository(ItemUpdateType.MetadataImport, CancellationToken.None) .ConfigureAwait(false); } }
private void AssignTrailers(IHasTrailers item, IEnumerable <BaseItem> channelTrailers) { if (item is Game) { return; } var imdbId = item.GetProviderId(MetadataProviders.Imdb); var tmdbId = item.GetProviderId(MetadataProviders.Tmdb); var trailers = channelTrailers.Where(i => { if (!string.IsNullOrEmpty(imdbId) && string.Equals(imdbId, i.GetProviderId(MetadataProviders.Imdb), StringComparison.OrdinalIgnoreCase)) { return(true); } if (!string.IsNullOrEmpty(tmdbId) && string.Equals(tmdbId, i.GetProviderId(MetadataProviders.Tmdb), StringComparison.OrdinalIgnoreCase)) { return(true); } return(false); }); var trailerIds = trailers.Select(i => i.Id) .ToArray(); if (!trailerIds.SequenceEqual(item.RemoteTrailerIds)) { item.RemoteTrailerIds = trailerIds; var baseItem = (BaseItem)item; baseItem.UpdateToRepository(ItemUpdateType.MetadataImport, CancellationToken.None); } }