aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Dto
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-06-15 14:56:37 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-06-15 14:56:37 -0400
commit023b12a798d6bf475a3b20488c1921e7fdb68dc5 (patch)
treea58dc949d8c89af0cfa9d52a015d9c92975e1dc1 /MediaBrowser.Server.Implementations/Dto
parent6118e5f966c4f26e44c4028ed946a701ec25e8be (diff)
update recording format
Diffstat (limited to 'MediaBrowser.Server.Implementations/Dto')
-rw-r--r--MediaBrowser.Server.Implementations/Dto/DtoService.cs37
1 files changed, 25 insertions, 12 deletions
diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
index 2c31a8aae..a2d895e2c 100644
--- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs
+++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
@@ -469,22 +469,31 @@ namespace MediaBrowser.Server.Implementations.Dto
{
if (item.IsFolder)
{
- var userData = _userDataRepository.GetUserData(user, item);
-
- // Skip the user data manager because we've already looped through the recursive tree and don't want to do it twice
- // TODO: Improve in future
- dto.UserData = GetUserItemDataDto(userData);
-
var folder = (Folder)item;
- if (item.SourceType == SourceType.Library)
+ if (fields.Contains(ItemFields.SyncInfo))
{
- dto.ChildCount = GetChildCount(folder, user);
+ var userData = _userDataRepository.GetUserData(user, item);
+
+ // Skip the user data manager because we've already looped through the recursive tree and don't want to do it twice
+ // TODO: Improve in future
+ dto.UserData = GetUserItemDataDto(userData);
- if (folder.SupportsUserDataFromChildren)
+ if (item.SourceType == SourceType.Library && folder.SupportsUserDataFromChildren)
{
SetSpecialCounts(folder, user, dto, fields, syncProgress);
}
+
+ dto.UserData.Played = dto.UserData.PlayedPercentage.HasValue && dto.UserData.PlayedPercentage.Value >= 100;
+ }
+ else
+ {
+ dto.UserData = _userDataRepository.GetUserDataDto(item, user);
+ }
+
+ if (item.SourceType == SourceType.Library)
+ {
+ dto.ChildCount = GetChildCount(folder, user);
}
if (fields.Contains(ItemFields.CumulativeRunTimeTicks))
@@ -496,8 +505,6 @@ namespace MediaBrowser.Server.Implementations.Dto
{
dto.DateLastMediaAdded = folder.DateLastMediaAdded;
}
-
- dto.UserData.Played = dto.UserData.PlayedPercentage.HasValue && dto.UserData.PlayedPercentage.Value >= 100;
}
else
@@ -1586,12 +1593,18 @@ namespace MediaBrowser.Server.Implementations.Dto
/// <returns>Task.</returns>
private void SetSpecialCounts(Folder folder, User user, BaseItemDto dto, List<ItemFields> fields, Dictionary<string, SyncedItemProgress> syncProgress)
{
+ var addSyncInfo = fields.Contains(ItemFields.SyncInfo);
+
+ if (!addSyncInfo)
+ {
+ return;
+ }
+
var recursiveItemCount = 0;
var unplayed = 0;
double totalPercentPlayed = 0;
double totalSyncPercent = 0;
- var addSyncInfo = fields.Contains(ItemFields.SyncInfo);
var children = folder.GetItems(new InternalItemsQuery
{