implemented filtering of ibn items based on like/dislike/favorite

This commit is contained in:
Luke Pulverenti
2013-04-13 17:49:16 -04:00
parent 86d15e145f
commit cdd1a03299
6 changed files with 124 additions and 33 deletions

View File

@@ -48,14 +48,14 @@ namespace MediaBrowser.Api.UserLibrary
/// <param name="items">The items.</param>
/// <param name="user">The user.</param>
/// <returns>IEnumerable{Tuple{System.StringFunc{System.Int32}}}.</returns>
protected override IEnumerable<Tuple<string, Func<IEnumerable<BaseItem>>>> GetAllItems(GetItemsByName request, IEnumerable<BaseItem> items, User user)
protected override IEnumerable<IbnStub<Studio>> GetAllItems(GetItemsByName request, IEnumerable<BaseItem> items, User user)
{
var itemsList = items.Where(i => i.Studios != null).ToList();
return itemsList
.SelectMany(i => i.Studios)
.Distinct(StringComparer.OrdinalIgnoreCase)
.Select(name => new Tuple<string, Func<IEnumerable<BaseItem>>>(name, () => itemsList.Where(i => i.Studios.Contains(name, StringComparer.OrdinalIgnoreCase))));
.Select(name => new IbnStub<Studio>(name, () => itemsList.Where(i => i.Studios.Contains(name, StringComparer.OrdinalIgnoreCase)), GetEntity));
}
/// <summary>
@@ -63,7 +63,7 @@ namespace MediaBrowser.Api.UserLibrary
/// </summary>
/// <param name="name">The name.</param>
/// <returns>Task{Studio}.</returns>
protected override Task<Studio> GetEntity(string name)
protected Task<Studio> GetEntity(string name)
{
return LibraryManager.GetStudio(name);
}