From 8e199060439246023b413196715c2d9bddfb0c77 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 8 Jun 2013 13:04:17 -0400 Subject: [PATCH] added recursive unplayed count --- MediaBrowser.Controller/Dto/DtoBuilder.cs | 11 +++++++++++ MediaBrowser.Model/DTO/BaseItemDto.cs | 6 ++++++ MediaBrowser.Model/DTO/ImageOptions.cs | 3 +-- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/MediaBrowser.Controller/Dto/DtoBuilder.cs b/MediaBrowser.Controller/Dto/DtoBuilder.cs index 6d5ae0326a..2d2cbea5ad 100644 --- a/MediaBrowser.Controller/Dto/DtoBuilder.cs +++ b/MediaBrowser.Controller/Dto/DtoBuilder.cs @@ -527,6 +527,7 @@ namespace MediaBrowser.Controller.Dto { var rcentlyAddedItemCount = 0; var recursiveItemCount = 0; + var unplayed = 0; double totalPercentPlayed = 0; @@ -543,12 +544,16 @@ namespace MediaBrowser.Controller.Dto rcentlyAddedItemCount++; } + var isUnplayed = true; + // Incrememt totalPercentPlayed if (userdata != null) { if (userdata.Played) { totalPercentPlayed += 100; + + isUnplayed = false; } else if (userdata.PlaybackPositionTicks > 0 && child.RunTimeTicks.HasValue && child.RunTimeTicks.Value > 0) { @@ -557,10 +562,16 @@ namespace MediaBrowser.Controller.Dto totalPercentPlayed += itemPercent; } } + + if (isUnplayed) + { + unplayed++; + } } dto.RecursiveItemCount = recursiveItemCount; dto.RecentlyAddedItemCount = rcentlyAddedItemCount; + dto.RecursiveUnplayedItemCount = unplayed; if (recursiveItemCount > 0) { diff --git a/MediaBrowser.Model/DTO/BaseItemDto.cs b/MediaBrowser.Model/DTO/BaseItemDto.cs index 9bb91db7f8..4739590bf6 100644 --- a/MediaBrowser.Model/DTO/BaseItemDto.cs +++ b/MediaBrowser.Model/DTO/BaseItemDto.cs @@ -234,6 +234,12 @@ namespace MediaBrowser.Model.Dto /// The recursive item count. public int? RecursiveItemCount { get; set; } + /// + /// Gets or sets the recursive unplayed item count. + /// + /// The recursive unplayed item count. + public int? RecursiveUnplayedItemCount { get; set; } + /// /// Gets or sets the child count. /// diff --git a/MediaBrowser.Model/DTO/ImageOptions.cs b/MediaBrowser.Model/DTO/ImageOptions.cs index a800b87d15..d6a9fd0ff5 100644 --- a/MediaBrowser.Model/DTO/ImageOptions.cs +++ b/MediaBrowser.Model/DTO/ImageOptions.cs @@ -1,5 +1,4 @@ - -using System; +using System; using MediaBrowser.Model.Entities; namespace MediaBrowser.Model.Dto