aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs')
-rw-r--r--MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs38
1 files changed, 12 insertions, 26 deletions
diff --git a/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs b/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs
index f34b43e43..d913360f0 100644
--- a/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs
+++ b/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs
@@ -36,8 +36,12 @@ namespace MediaBrowser.Server.Implementations.TV
? new string[] { }
: new[] { request.ParentId };
- var items = GetAllLibraryItems(user, parentIds, i => i is Series)
- .Cast<Series>();
+ var items = _libraryManager.GetItems(new InternalItemsQuery(user)
+ {
+ IncludeItemTypes = new[] { typeof(Series).Name },
+ SortOrder = SortOrder.Ascending
+
+ }, user, parentIds).Cast<Series>();
// Avoid implicitly captured closure
var episodes = GetNextUpEpisodes(request, user, items);
@@ -54,9 +58,12 @@ namespace MediaBrowser.Server.Implementations.TV
throw new ArgumentException("User not found");
}
- var items = parentsFolders
- .SelectMany(i => i.GetRecursiveChildren(user, s => s is Series))
- .Cast<Series>();
+ var items = _libraryManager.GetItems(new InternalItemsQuery(user)
+ {
+ IncludeItemTypes = new[] { typeof(Series).Name },
+ SortOrder = SortOrder.Ascending
+
+ }, user, parentsFolders.Select(i => i.Id.ToString("N"))).Cast<Series>();
// Avoid implicitly captured closure
var episodes = GetNextUpEpisodes(request, user, items);
@@ -64,27 +71,6 @@ namespace MediaBrowser.Server.Implementations.TV
return GetResult(episodes, null, request);
}
- private IEnumerable<BaseItem> GetAllLibraryItems(User user, string[] parentIds, Func<BaseItem,bool> filter)
- {
- if (parentIds.Length > 0)
- {
- return parentIds.SelectMany(i =>
- {
- var folder = (Folder)_libraryManager.GetItemById(new Guid(i));
-
- return folder.GetRecursiveChildren(user, filter);
-
- });
- }
-
- if (user == null)
- {
- throw new ArgumentException("User not found");
- }
-
- return user.RootFolder.GetRecursiveChildren(user, filter);
- }
-
public IEnumerable<Episode> GetNextUpEpisodes(NextUpQuery request, User user, IEnumerable<Series> series)
{
// Avoid implicitly captured closure