diff options
Diffstat (limited to 'MediaBrowser.Controller')
| -rw-r--r-- | MediaBrowser.Controller/Entities/Folder.cs | 21 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/TV/Season.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/TV/Series.cs | 14 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/UserRootFolder.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/UserView.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Library/ILibraryManager.cs | 7 |
6 files changed, 50 insertions, 7 deletions
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index 3c8d8baec..e3841099e 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -666,6 +666,27 @@ namespace MediaBrowser.Controller.Entities }); } + public virtual int GetChildCount(User user) + { + if (LinkedChildren.Count > 0) + { + if (!(this is ICollectionFolder)) + { + return GetChildren(user, true).Count(); + } + } + + var result = GetItems(new InternalItemsQuery(user) + { + Recursive = false, + Limit = 0, + ParentId = Id + + }).Result; + + return result.TotalRecordCount; + } + public QueryResult<BaseItem> QueryRecursive(InternalItemsQuery query) { var user = query.User; diff --git a/MediaBrowser.Controller/Entities/TV/Season.cs b/MediaBrowser.Controller/Entities/TV/Season.cs index c984a2832..9a9014844 100644 --- a/MediaBrowser.Controller/Entities/TV/Season.cs +++ b/MediaBrowser.Controller/Entities/TV/Season.cs @@ -75,6 +75,11 @@ namespace MediaBrowser.Controller.Entities.TV return list; } + public override int GetChildCount(User user) + { + return GetChildren(user, true).Count(); + } + /// <summary> /// This Episode's Series Instance /// </summary> diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs index 1f341ba13..1cc496b35 100644 --- a/MediaBrowser.Controller/Entities/TV/Series.cs +++ b/MediaBrowser.Controller/Entities/TV/Series.cs @@ -111,6 +111,20 @@ namespace MediaBrowser.Controller.Entities.TV } } + public override int GetChildCount(User user) + { + var result = LibraryManager.GetItemsResult(new InternalItemsQuery(user) + { + AncestorWithPresentationUniqueKey = PresentationUniqueKey, + IncludeItemTypes = new[] { typeof(Season).Name }, + SortBy = new[] { ItemSortBy.SortName }, + IsVirtualItem = false, + Limit = 0 + }); + + return result.TotalRecordCount; + } + /// <summary> /// Gets the user data key. /// </summary> diff --git a/MediaBrowser.Controller/Entities/UserRootFolder.cs b/MediaBrowser.Controller/Entities/UserRootFolder.cs index 37c4c91b1..8e6f11c2c 100644 --- a/MediaBrowser.Controller/Entities/UserRootFolder.cs +++ b/MediaBrowser.Controller/Entities/UserRootFolder.cs @@ -38,6 +38,11 @@ namespace MediaBrowser.Controller.Entities return PostFilterAndSort(result.Where(filter), query); } + public override int GetChildCount(User user) + { + return GetChildren(user, true).Count(); + } + [IgnoreDataMember] protected override bool SupportsShortcutChildren { diff --git a/MediaBrowser.Controller/Entities/UserView.cs b/MediaBrowser.Controller/Entities/UserView.cs index 6ec719e87..35375e7e6 100644 --- a/MediaBrowser.Controller/Entities/UserView.cs +++ b/MediaBrowser.Controller/Entities/UserView.cs @@ -45,6 +45,11 @@ namespace MediaBrowser.Controller.Entities return list; } + public override int GetChildCount(User user) + { + return GetChildren(user, true).Count(); + } + protected override Task<QueryResult<BaseItem>> GetItemsInternal(InternalItemsQuery query) { var parent = this as Folder; diff --git a/MediaBrowser.Controller/Library/ILibraryManager.cs b/MediaBrowser.Controller/Library/ILibraryManager.cs index 936b97c6e..1d0e06482 100644 --- a/MediaBrowser.Controller/Library/ILibraryManager.cs +++ b/MediaBrowser.Controller/Library/ILibraryManager.cs @@ -151,13 +151,6 @@ namespace MediaBrowser.Controller.Library BaseItem GetItemById(Guid id); /// <summary> - /// Gets the memory item by identifier. - /// </summary> - /// <param name="id">The identifier.</param> - /// <returns>BaseItem.</returns> - BaseItem GetMemoryItemById(Guid id); - - /// <summary> /// Gets the intros. /// </summary> /// <param name="item">The item.</param> |
