From 8fe7dfd4ce39d4bb3d9a96e3ada8783c26e291a2 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 11 Apr 2013 23:50:47 -0400 Subject: added people pages --- .../UserLibrary/BaseItemsByNameService.cs | 34 ++++++++++++++++++++-- 1 file changed, 31 insertions(+), 3 deletions(-) (limited to 'MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs') diff --git a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs index ae1e0a3f8..583f7460d 100644 --- a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs +++ b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs @@ -64,9 +64,8 @@ namespace MediaBrowser.Api.UserLibrary items = FilterItems(request, items, user); - items = ItemsService.ApplySortOrder(request, items, user, LibraryManager); - - var ibnItemsArray = GetAllItems(request, items, user).ToArray(); + var extractedItems = GetAllItems(request, items, user); + var ibnItemsArray = SortItems(request, extractedItems).ToArray(); IEnumerable>>> ibnItems = ibnItemsArray; @@ -100,6 +99,29 @@ namespace MediaBrowser.Api.UserLibrary return result; } + /// + /// Sorts the items. + /// + /// The request. + /// The items. + /// IEnumerable{BaseItem}. + private IEnumerable>>> SortItems(GetItemsByName request, IEnumerable>>> items) + { + if (string.Equals(request.SortBy, "SortName", StringComparison.OrdinalIgnoreCase)) + { + if (request.SortOrder.HasValue && request.SortOrder.Value == Model.Entities.SortOrder.Descending) + { + items = items.OrderByDescending(i => i.Item1); + } + else + { + items = items.OrderBy(i => i.Item1); + } + } + + return items; + } + /// /// Filters the items. /// @@ -181,5 +203,11 @@ namespace MediaBrowser.Api.UserLibrary /// public class GetItemsByName : BaseItemsRequest, IReturn { + /// + /// What to sort the results by + /// + /// The sort by. + [ApiMember(Name = "SortBy", Description = "Optional. Options: SortName", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET", AllowMultiple = true)] + public string SortBy { get; set; } } } -- cgit v1.2.3