aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Dto
diff options
context:
space:
mode:
authorEric Reed <ebr@mediabrowser3.com>2013-09-23 12:28:44 -0400
committerEric Reed <ebr@mediabrowser3.com>2013-09-23 12:28:44 -0400
commitc6e57c6448c04998bcae5a906e7a064300542e75 (patch)
tree548e46418f25b2dc65b78c1a96083c5ca2b9c81a /MediaBrowser.Server.Implementations/Dto
parentd9fecd78a54453a7656f649a6fcfc654f74dbdf6 (diff)
parentcacba5ca11d600ed9d496c566807be92b228de7e (diff)
Merge branch 'master' of https://github.com/MediaBrowser/MediaBrowser
Diffstat (limited to 'MediaBrowser.Server.Implementations/Dto')
-rw-r--r--MediaBrowser.Server.Implementations/Dto/DtoService.cs29
1 files changed, 11 insertions, 18 deletions
diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
index 99878e2ec4..e5260004a6 100644
--- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs
+++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
@@ -107,13 +107,10 @@ namespace MediaBrowser.Server.Implementations.Dto
.ToArray();
}
- if (fields.Contains(ItemFields.ItemCounts))
+ var itemByName = item as IItemByName;
+ if (itemByName != null)
{
- var itemByName = item as IItemByName;
- if (itemByName != null)
- {
- AttachItemByNameCounts(dto, itemByName, user);
- }
+ AttachItemByNameCounts(dto, itemByName, user);
}
return dto;
@@ -166,18 +163,13 @@ namespace MediaBrowser.Server.Implementations.Dto
{
if (item.IsFolder)
{
- var hasItemCounts = fields.Contains(ItemFields.ItemCounts);
+ var folder = (Folder)item;
- if (hasItemCounts || fields.Contains(ItemFields.CumulativeRunTimeTicks))
- {
- var folder = (Folder)item;
+ dto.ChildCount = folder.GetChildren(user, true).Count();
- if (hasItemCounts)
- {
- dto.ChildCount = folder.GetChildren(user, true).Count();
- }
-
- SetSpecialCounts(folder, user, dto);
+ if (!(folder is UserRootFolder))
+ {
+ SetSpecialCounts(folder, user, dto, fields);
}
}
@@ -1068,8 +1060,9 @@ namespace MediaBrowser.Server.Implementations.Dto
/// <param name="folder">The folder.</param>
/// <param name="user">The user.</param>
/// <param name="dto">The dto.</param>
+ /// <param name="fields">The fields.</param>
/// <returns>Task.</returns>
- private void SetSpecialCounts(Folder folder, User user, BaseItemDto dto)
+ private void SetSpecialCounts(Folder folder, User user, BaseItemDto dto, List<ItemFields> fields)
{
var rcentlyAddedItemCount = 0;
var recursiveItemCount = 0;
@@ -1127,7 +1120,7 @@ namespace MediaBrowser.Server.Implementations.Dto
dto.PlayedPercentage = totalPercentPlayed / recursiveItemCount;
}
- if (runtime > 0)
+ if (runtime > 0 && fields.Contains(ItemFields.CumulativeRunTimeTicks))
{
dto.CumulativeRunTimeTicks = runtime;
}