diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-05-07 21:17:41 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-05-07 21:17:41 -0400 |
| commit | a23309eb9ba8e404b3ee479bf79a2402ee3da154 (patch) | |
| tree | 51fc10888672d08553c94cf3b8cda7aa64a365bf | |
| parent | 0934a9ca766ae6794e7e8aa506ebf48c63a25526 (diff) | |
fixed watched indicator for folders
| -rw-r--r-- | MediaBrowser.Controller/Dto/DtoBuilder.cs | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/MediaBrowser.Controller/Dto/DtoBuilder.cs b/MediaBrowser.Controller/Dto/DtoBuilder.cs index e9c472e42..e16fb6d94 100644 --- a/MediaBrowser.Controller/Dto/DtoBuilder.cs +++ b/MediaBrowser.Controller/Dto/DtoBuilder.cs @@ -167,21 +167,16 @@ namespace MediaBrowser.Controller.Dto /// <param name="fields">The fields.</param> private async Task AttachUserSpecificInfo(BaseItemDto dto, BaseItem item, User user, List<ItemFields> fields) { - if (fields.Contains(ItemFields.UserData)) - { - var userData = await _userDataRepository.GetUserData(user.Id, item.GetUserDataKey()).ConfigureAwait(false); - - dto.UserData = GetUserItemDataDto(userData); - } - if (item.IsFolder && fields.Contains(ItemFields.DisplayPreferencesId)) { dto.DisplayPreferencesId = ((Folder)item).GetDisplayPreferencesId(user.Id).ToString(); } + var addUserData = fields.Contains(ItemFields.UserData); + if (item.IsFolder) { - if (fields.Contains(ItemFields.ItemCounts)) + if (fields.Contains(ItemFields.ItemCounts) || addUserData) { var folder = (Folder)item; @@ -191,6 +186,18 @@ namespace MediaBrowser.Controller.Dto await SetSpecialCounts(folder, user, dto, _userDataRepository).ConfigureAwait(false); } } + + if (addUserData) + { + var userData = await _userDataRepository.GetUserData(user.Id, item.GetUserDataKey()).ConfigureAwait(false); + + dto.UserData = GetUserItemDataDto(userData); + + if (item.IsFolder) + { + dto.UserData.Played = dto.PlayedPercentage.HasValue && dto.PlayedPercentage.Value >= 100; + } + } } /// <summary> @@ -567,7 +574,7 @@ namespace MediaBrowser.Controller.Dto // Incrememt totalPercentPlayed if (userdata != null) { - if (userdata.PlayCount > 0) + if (userdata.Played) { totalPercentPlayed += 100; } |
