aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/UserLibrary/ArtistsService.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-03-09 18:14:44 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-03-09 18:14:44 -0400
commitd49494476770b3c0a091841bd3bbd44862fb8137 (patch)
treef0bf4bffa8b4d8a91de9e9096941aa34082a8e91 /MediaBrowser.Api/UserLibrary/ArtistsService.cs
parent1ead63b0d1a532cf828a4ed7c5310eef9c255740 (diff)
calculate item by name counts on the fly
Diffstat (limited to 'MediaBrowser.Api/UserLibrary/ArtistsService.cs')
-rw-r--r--MediaBrowser.Api/UserLibrary/ArtistsService.cs14
1 files changed, 6 insertions, 8 deletions
diff --git a/MediaBrowser.Api/UserLibrary/ArtistsService.cs b/MediaBrowser.Api/UserLibrary/ArtistsService.cs
index a96630efe..9972ac3ef 100644
--- a/MediaBrowser.Api/UserLibrary/ArtistsService.cs
+++ b/MediaBrowser.Api/UserLibrary/ArtistsService.cs
@@ -85,10 +85,10 @@ namespace MediaBrowser.Api.UserLibrary
{
var user = UserManager.GetUserById(request.UserId.Value);
- return DtoService.GetBaseItemDto(item, fields.ToList(), user);
+ return DtoService.GetItemByNameDto(item, fields.ToList(), user);
}
- return DtoService.GetBaseItemDto(item, fields.ToList());
+ return DtoService.GetItemByNameDto(item, fields.ToList());
}
/// <summary>
@@ -111,7 +111,10 @@ namespace MediaBrowser.Api.UserLibrary
/// <returns>IEnumerable{Tuple{System.StringFunc{System.Int32}}}.</returns>
protected override IEnumerable<MusicArtist> GetAllItems(GetItemsByName request, IEnumerable<BaseItem> items)
{
- return LibraryManager.GetAllArtists(items)
+ return items
+ .OfType<Audio>()
+ .SelectMany(i => i.AllArtists)
+ .Distinct(StringComparer.OrdinalIgnoreCase)
.Select(name =>
{
try
@@ -126,10 +129,5 @@ namespace MediaBrowser.Api.UserLibrary
}).Where(i => i != null);
}
-
- protected override IEnumerable<BaseItem> GetLibraryItems(MusicArtist item, IEnumerable<BaseItem> libraryItems)
- {
- return libraryItems.OfType<IHasArtist>().Where(i => i.HasArtist(item.Name)).Cast<BaseItem>();
- }
}
}