diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-06-15 12:45:45 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-06-15 12:45:45 -0400 |
| commit | 6118e5f966c4f26e44c4028ed946a701ec25e8be (patch) | |
| tree | c992be7cf795030e2ecad913af01dbb726326b5e /MediaBrowser.Controller/Entities/Folder.cs | |
| parent | c20674a2997b962d603b678fc50037e0d214970e (diff) | |
update xmltv downloading
Diffstat (limited to 'MediaBrowser.Controller/Entities/Folder.cs')
| -rw-r--r-- | MediaBrowser.Controller/Entities/Folder.cs | 56 |
1 files changed, 15 insertions, 41 deletions
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index 6868418d3..b2788abe0 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -1413,59 +1413,33 @@ namespace MediaBrowser.Controller.Entities return; } - var recursiveItemCount = 0; - var unplayed = 0; - - double totalPercentPlayed = 0; - - var itemsResult = GetItems(new InternalItemsQuery(user) + var playedQueryResult = GetItems(new InternalItemsQuery(user) { Recursive = true, IsFolder = false, - ExcludeLocationTypes = new[] { LocationType.Virtual }, - EnableTotalRecordCount = false + IsVirtualItem = false, + EnableTotalRecordCount = true, + Limit = 0, + IsPlayed = true }).Result; - var children = itemsResult.Items; - - // Loop through each recursive child - foreach (var child in children) + var allItemsQueryResult = GetItems(new InternalItemsQuery(user) { - recursiveItemCount++; - - var isUnplayed = true; - - var itemUserData = UserDataManager.GetUserData(user, child); - - // Incrememt totalPercentPlayed - if (itemUserData != null) - { - if (itemUserData.Played) - { - totalPercentPlayed += 100; - - isUnplayed = false; - } - else if (itemUserData.PlaybackPositionTicks > 0 && child.RunTimeTicks.HasValue && child.RunTimeTicks.Value > 0) - { - double itemPercent = itemUserData.PlaybackPositionTicks; - itemPercent /= child.RunTimeTicks.Value; - totalPercentPlayed += itemPercent; - } - } + Recursive = true, + IsFolder = false, + IsVirtualItem = false, + EnableTotalRecordCount = true, + Limit = 0 - if (isUnplayed) - { - unplayed++; - } - } + }).Result; - dto.UnplayedItemCount = unplayed; + double recursiveItemCount = allItemsQueryResult.TotalRecordCount; + double playedCount = playedQueryResult.TotalRecordCount; if (recursiveItemCount > 0) { - dto.PlayedPercentage = totalPercentPlayed / recursiveItemCount; + dto.PlayedPercentage = (playedCount / recursiveItemCount) * 100; dto.Played = dto.PlayedPercentage.Value >= 100; } } |
