aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/UserLibrary/ItemsService.cs
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2016-08-19 14:57:01 -0400
committerGitHub <noreply@github.com>2016-08-19 14:57:01 -0400
commit0780889c51819c9f1c3b01f5bcdae9806c219c10 (patch)
treee91e8542e997c25992fd24e0b40fd7a765c45d62 /MediaBrowser.Api/UserLibrary/ItemsService.cs
parentac8c4ccc3ce53a4eafbd0493e9fe333d95b28730 (diff)
parent003f61c8914706c6ea1d211644dabf5a5fbd759e (diff)
Merge pull request #2080 from MediaBrowser/beta
Beta
Diffstat (limited to 'MediaBrowser.Api/UserLibrary/ItemsService.cs')
-rw-r--r--MediaBrowser.Api/UserLibrary/ItemsService.cs34
1 files changed, 15 insertions, 19 deletions
diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs
index 97a81b790..ce7905b42 100644
--- a/MediaBrowser.Api/UserLibrary/ItemsService.cs
+++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs
@@ -149,39 +149,35 @@ namespace MediaBrowser.Api.UserLibrary
item = user == null ? _libraryManager.RootFolder : user.RootFolder;
}
- // Default list type = children
-
- var folder = item as Folder;
- if (folder == null)
- {
- folder = user == null ? _libraryManager.RootFolder : _libraryManager.GetUserRootFolder();
- }
-
if (!string.IsNullOrEmpty(request.Ids))
{
- request.Recursive = true;
var query = GetItemsQuery(request, user);
- var result = await folder.GetItems(query).ConfigureAwait(false);
-
- if (string.IsNullOrWhiteSpace(request.SortBy))
+ var specificItems = _libraryManager.GetItemList(query).ToArray();
+ if (query.SortBy.Length == 0)
{
var ids = query.ItemIds.ToList();
// Try to preserve order
- result.Items = result.Items.OrderBy(i => ids.IndexOf(i.Id.ToString("N"))).ToArray();
+ specificItems = specificItems.OrderBy(i => ids.IndexOf(i.Id.ToString("N"))).ToArray();
}
-
- return result;
+ return new QueryResult<BaseItem>
+ {
+ Items = specificItems.ToArray(),
+ TotalRecordCount = specificItems.Length
+ };
}
- if (request.Recursive)
+ // Default list type = children
+
+ var folder = item as Folder;
+ if (folder == null)
{
- return await folder.GetItems(GetItemsQuery(request, user)).ConfigureAwait(false);
+ folder = user == null ? _libraryManager.RootFolder : _libraryManager.GetUserRootFolder();
}
- if (user == null)
+ if (request.Recursive || !string.IsNullOrEmpty(request.Ids) || user == null)
{
- return await folder.GetItems(GetItemsQuery(request, null)).ConfigureAwait(false);
+ return await folder.GetItems(GetItemsQuery(request, user)).ConfigureAwait(false);
}
var userRoot = item as UserRootFolder;