diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-09-06 01:13:43 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-09-06 01:13:43 -0400 |
| commit | 032f3d376b3818bdff98512229fb96fdfd9f37bb (patch) | |
| tree | 8638062f98588fcd90a00188bf3bb7c56d98e385 /MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs | |
| parent | 50aa0b86752757692f6de27925b0cd49399528ec (diff) | |
added more sorting to ibn endpoints
Diffstat (limited to 'MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs')
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs index 8bb07caa9..d4881c167 100644 --- a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs +++ b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs @@ -142,6 +142,12 @@ namespace MediaBrowser.Api.UserLibrary items = items.Where(i => string.Compare(request.NameStartsWithOrGreater, i.Name, StringComparison.CurrentCultureIgnoreCase) < 1); } + var imageTypes = request.GetImageTypes().ToArray(); + if (imageTypes.Length > 0) + { + items = items.Where(item => imageTypes.Any(imageType => ItemsService.HasImage(item.GetItem().Result, imageType))); + } + var filters = request.GetFilters().ToList(); if (filters.Count == 0) @@ -221,6 +227,17 @@ namespace MediaBrowser.Api.UserLibrary items = items.OrderBy(i => i.Name); } } + else if (string.Equals(request.SortBy, "Random", StringComparison.OrdinalIgnoreCase)) + { + if (request.SortOrder.HasValue && request.SortOrder.Value == Model.Entities.SortOrder.Descending) + { + items = items.OrderByDescending(i => Guid.NewGuid()); + } + else + { + items = items.OrderBy(i => Guid.NewGuid()); + } + } return items; } @@ -358,7 +375,6 @@ namespace MediaBrowser.Api.UserLibrary public string Name; - public BaseItem Item; private UserItemData _userData; public List<BaseItem> Items |
