From 7a014affb27b3e3d00680e39ce6b858f6d954ec6 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 21 Mar 2016 23:35:24 -0400 Subject: fix albums per artist --- MediaBrowser.Api/UserLibrary/ItemsService.cs | 33 ++++++++-------------------- 1 file changed, 9 insertions(+), 24 deletions(-) (limited to 'MediaBrowser.Api/UserLibrary/ItemsService.cs') diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs index 566b1dfd5..ea7e16e8d 100644 --- a/MediaBrowser.Api/UserLibrary/ItemsService.cs +++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs @@ -184,8 +184,6 @@ namespace MediaBrowser.Api.UserLibrary SortBy = request.GetOrderBy(), SortOrder = request.SortOrder ?? SortOrder.Ascending, - Filter = i => ApplyAdditionalFilters(request, i, user, _libraryManager), - IsFavorite = request.IsFavorite, Limit = request.Limit, StartIndex = request.StartIndex, @@ -323,6 +321,15 @@ namespace MediaBrowser.Api.UserLibrary query.MaxParentalRating = _localization.GetRatingLevel(request.MinOfficialRating); } + // Artists + if (!string.IsNullOrEmpty(request.ArtistIds)) + { + var artistIds = request.ArtistIds.Split(new[] { '|', ',' }); + + var artistItems = artistIds.Select(_libraryManager.GetItemById).Where(i => i != null).ToList(); + query.ArtistNames = artistItems.Select(i => i.Name).ToArray(); + } + // Artists if (!string.IsNullOrEmpty(request.Artists)) { @@ -337,28 +344,6 @@ namespace MediaBrowser.Api.UserLibrary return query; } - - private bool ApplyAdditionalFilters(GetItems request, BaseItem i, User user, ILibraryManager libraryManager) - { - // Artists - if (!string.IsNullOrEmpty(request.ArtistIds)) - { - var artistIds = request.ArtistIds.Split(new[] { '|', ',' }); - - var audio = i as IHasArtist; - - if (!(audio != null && artistIds.Any(id => - { - var artistItem = libraryManager.GetItemById(id); - return artistItem != null && audio.HasAnyArtist(artistItem.Name); - }))) - { - return false; - } - } - - return true; - } } /// -- cgit v1.2.3