From 1fcf696bd540bca6fc541f8b96b28e031c24f5f7 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 30 Mar 2013 10:57:30 -0400 Subject: Added filters to the item list page --- MediaBrowser.Api/UserLibrary/ItemsService.cs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'MediaBrowser.Api/UserLibrary') diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs index 939a173149..a8a9109c1b 100644 --- a/MediaBrowser.Api/UserLibrary/ItemsService.cs +++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs @@ -48,7 +48,7 @@ namespace MediaBrowser.Api.UserLibrary /// What to sort the results by /// /// The sort by. - [ApiMember(Name = "SortBy", Description = "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, CommunityRating, DateCreated, DatePlayed, PremiereDate, ProductionYear, SortName, Random, Runtime", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET", AllowMultiple = true)] + [ApiMember(Name = "SortBy", Description = "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, CommunityRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Runtime", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET", AllowMultiple = true)] public string SortBy { get; set; } /// @@ -243,6 +243,22 @@ namespace MediaBrowser.Api.UserLibrary { switch (filter) { + case ItemFilter.Likes: + return items.Where(item => + { + var userdata = item.GetUserData(user, false); + + return userdata != null && userdata.Likes.HasValue && userdata.Likes.Value; + }); + + case ItemFilter.Dislikes: + return items.Where(item => + { + var userdata = item.GetUserData(user, false); + + return userdata != null && userdata.Likes.HasValue && !userdata.Likes.Value; + }); + case ItemFilter.IsFavorite: return items.Where(item => { -- cgit v1.2.3