diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-04-11 23:50:47 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-04-11 23:50:47 -0400 |
| commit | 8fe7dfd4ce39d4bb3d9a96e3ada8783c26e291a2 (patch) | |
| tree | a471353c59811359375a32c1ecba1d9b0c3bd44f /MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs | |
| parent | c3e3b68bb2e290d543c334716ca3a1127e54b484 (diff) | |
added people pages
Diffstat (limited to 'MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs')
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs | 34 |
1 files changed, 31 insertions, 3 deletions
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<Tuple<string, Func<IEnumerable<BaseItem>>>> ibnItems = ibnItemsArray; @@ -101,6 +100,29 @@ namespace MediaBrowser.Api.UserLibrary } /// <summary> + /// Sorts the items. + /// </summary> + /// <param name="request">The request.</param> + /// <param name="items">The items.</param> + /// <returns>IEnumerable{BaseItem}.</returns> + private IEnumerable<Tuple<string, Func<IEnumerable<BaseItem>>>> SortItems(GetItemsByName request, IEnumerable<Tuple<string, Func<IEnumerable<BaseItem>>>> 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; + } + + /// <summary> /// Filters the items. /// </summary> /// <param name="request">The request.</param> @@ -181,5 +203,11 @@ namespace MediaBrowser.Api.UserLibrary /// </summary> public class GetItemsByName : BaseItemsRequest, IReturn<ItemsResult> { + /// <summary> + /// What to sort the results by + /// </summary> + /// <value>The sort by.</value> + [ApiMember(Name = "SortBy", Description = "Optional. Options: SortName", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET", AllowMultiple = true)] + public string SortBy { get; set; } } } |
