diff options
Diffstat (limited to 'MediaBrowser.Controller/Entities/Folder.cs')
| -rw-r--r-- | MediaBrowser.Controller/Entities/Folder.cs | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index d4ddab7b2..4705f03fa 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -681,6 +681,19 @@ namespace MediaBrowser.Controller.Entities return result.TotalRecordCount; } + public virtual int GetRecursiveChildCount(User user) + { + return GetItems(new InternalItemsQuery(user) + { + Recursive = true, + IsFolder = false, + IsVirtualItem = false, + EnableTotalRecordCount = true, + Limit = 0 + + }).Result.TotalRecordCount; + } + public QueryResult<BaseItem> QueryRecursive(InternalItemsQuery query) { var user = query.User; @@ -1404,20 +1417,11 @@ namespace MediaBrowser.Controller.Entities return; } - var allItemsQueryResult = await GetItems(new InternalItemsQuery(user) - { - Recursive = true, - IsFolder = false, - IsVirtualItem = false, - EnableTotalRecordCount = true, - Limit = 0 - - }).ConfigureAwait(false); - var recursiveItemCount = allItemsQueryResult.TotalRecordCount; + var recursiveItemCount = GetRecursiveChildCount(user); if (itemDto != null) { - itemDto.RecursiveItemCount = allItemsQueryResult.TotalRecordCount; + itemDto.RecursiveItemCount = recursiveItemCount; } if (recursiveItemCount > 0 && SupportsPlayedStatus) |
