support recursive played filter

This commit is contained in:
Luke Pulverenti
2014-01-15 17:19:37 -05:00
parent 98b6046f04
commit d0a5197c0a
5 changed files with 22 additions and 40 deletions

View File

@@ -137,24 +137,14 @@ namespace MediaBrowser.Api.UserLibrary
{
var libraryItems = user.RootFolder.GetRecursiveChildren(user).ToList();
items = items.Where(i => GetLibraryItems(i, libraryItems).All(l =>
{
var userdata = UserDataRepository.GetUserData(user.Id, l.GetUserDataKey());
return userdata != null && userdata.Played;
}));
items = items.Where(i => GetLibraryItems(i, libraryItems).All(l => l.IsPlayed(user)));
}
if (filters.Contains(ItemFilter.IsUnplayed))
{
var libraryItems = user.RootFolder.GetRecursiveChildren(user).ToList();
items = items.Where(i => GetLibraryItems(i, libraryItems).All(l =>
{
var userdata = UserDataRepository.GetUserData(user.Id, l.GetUserDataKey());
return userdata == null || !userdata.Played;
}));
items = items.Where(i => GetLibraryItems(i, libraryItems).All(l => !l.IsPlayed(user)));
}
return items;