aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Dto/DtoService.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-07-08 12:10:34 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-07-08 12:10:34 -0400
commit0291df3193f6fd23806a6ec1e87bf1aa7ed49c25 (patch)
treeafc3c6c48119ea644f6111e2c3686e3aae3db637 /MediaBrowser.Server.Implementations/Dto/DtoService.cs
parentdfa17aec70652d8a21d43c889f08f8c0fd805d09 (diff)
3.0.5666.2
Diffstat (limited to 'MediaBrowser.Server.Implementations/Dto/DtoService.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Dto/DtoService.cs35
1 files changed, 28 insertions, 7 deletions
diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
index d147777bd..bdc758d8e 100644
--- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs
+++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
@@ -132,13 +132,7 @@ namespace MediaBrowser.Server.Implementations.Dto
{
if (options.Fields.Contains(ItemFields.ItemCounts))
{
- var itemFilter = byName.GetItemFilter();
-
- var libraryItems = user != null ?
- user.RootFolder.GetRecursiveChildren(user, itemFilter) :
- _libraryManager.RootFolder.GetRecursiveChildren(itemFilter);
-
- SetItemByNameInfo(item, dto, libraryItems.ToList(), user);
+ SetItemByNameInfo(item, dto, GetTaggedItems(byName, user), user);
}
FillSyncInfo(dto, item, options, user, syncProgress);
@@ -150,6 +144,33 @@ namespace MediaBrowser.Server.Implementations.Dto
return dto;
}
+ private List<BaseItem> GetTaggedItems(IItemByName byName, User user)
+ {
+ var person = byName as Person;
+
+ if (person != null)
+ {
+ var items = _libraryManager.GetItems(new InternalItemsQuery
+ {
+ Person = byName.Name
+
+ }).Items;
+
+ if (user != null)
+ {
+ return items.Where(i => i.IsVisibleStandalone(user)).ToList();
+ }
+
+ return items.ToList();
+ }
+
+ var itemFilter = byName.GetItemFilter();
+
+ return user != null ?
+ user.RootFolder.GetRecursiveChildren(user, itemFilter).ToList() :
+ _libraryManager.RootFolder.GetRecursiveChildren(itemFilter).ToList();
+ }
+
private SyncedItemProgress[] GetSyncedItemProgress(DtoOptions options)
{
if (!options.Fields.Contains(ItemFields.SyncInfo))