public static IEnumerable <string> UpdateLibraryCache(ILibraryCache libraryCache, IEnumerable <LibraryItem> libraryItems, IEnumerable <string> names) { var result = new HashSet <string>(StringComparer.OrdinalIgnoreCase); foreach (var libraryItem in libraryItems) { var cachedLibraryItem = default(LibraryItem); if (libraryCache.TryGetItem(libraryItem.Id, out cachedLibraryItem)) { if (!object.ReferenceEquals(libraryItem, cachedLibraryItem)) { result.AddRange(MetaDataItem.Update(libraryItem, cachedLibraryItem, names)); } } } return(result); }
public static IEnumerable <string> UpdateLibraryCache(ILibraryCache libraryCache, IEnumerable <PlaylistItem> playlistItems, IEnumerable <string> names) { var result = new HashSet <string>(StringComparer.OrdinalIgnoreCase); foreach (var playlistItem in playlistItems) { if (!playlistItem.LibraryItem_Id.HasValue) { continue; } var libraryItem = default(LibraryItem); if (libraryCache.TryGetItem(playlistItem.LibraryItem_Id.Value, out libraryItem)) { result.AddRange(MetaDataItem.Update(playlistItem, libraryItem, names)); } } return(result); }