From e9a5bb699e42d6d7aa166ab03a35bb64060828b4 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 14 Jan 2014 15:24:56 -0500 Subject: added recording progress bars --- MediaBrowser.Api/UserLibrary/GameGenresService.cs | 1 - MediaBrowser.Controller/Entities/BaseItem.cs | 24 +------------ MediaBrowser.Controller/Entities/IBaseItem.cs | 28 --------------- MediaBrowser.Controller/Entities/ILibraryItem.cs | 28 +++++++++++++++ MediaBrowser.Controller/Entities/TV/Episode.cs | 42 ---------------------- .../MediaBrowser.Controller.csproj | 2 +- MediaBrowser.Model/LiveTv/RecordingInfoDto.cs | 8 ++++- .../LiveTv/LiveTvDtoService.cs | 12 +++++++ 8 files changed, 49 insertions(+), 96 deletions(-) delete mode 100644 MediaBrowser.Controller/Entities/IBaseItem.cs create mode 100644 MediaBrowser.Controller/Entities/ILibraryItem.cs diff --git a/MediaBrowser.Api/UserLibrary/GameGenresService.cs b/MediaBrowser.Api/UserLibrary/GameGenresService.cs index 77b1f4c54..79ee27df6 100644 --- a/MediaBrowser.Api/UserLibrary/GameGenresService.cs +++ b/MediaBrowser.Api/UserLibrary/GameGenresService.cs @@ -1,6 +1,5 @@ using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Persistence; using MediaBrowser.Model.Dto; diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 47b5247c3..c887f6977 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -23,7 +23,7 @@ namespace MediaBrowser.Controller.Entities /// /// Class BaseItem /// - public abstract class BaseItem : IHasProviderIds, IBaseItem, IHasImages, IHasUserData + public abstract class BaseItem : IHasProviderIds, ILibraryItem, IHasImages, IHasUserData { protected BaseItem() { @@ -504,28 +504,6 @@ namespace MediaBrowser.Controller.Entities /// The people. public List People { get; set; } - /// - /// Override this if you need to combine/collapse person information - /// - /// All people. - [IgnoreDataMember] - public virtual IEnumerable AllPeople - { - get { return People; } - } - - [IgnoreDataMember] - public virtual IEnumerable AllStudios - { - get { return Studios; } - } - - [IgnoreDataMember] - public virtual IEnumerable AllGenres - { - get { return Genres; } - } - /// /// Gets or sets the studios. /// diff --git a/MediaBrowser.Controller/Entities/IBaseItem.cs b/MediaBrowser.Controller/Entities/IBaseItem.cs deleted file mode 100644 index 83ccd55b0..000000000 --- a/MediaBrowser.Controller/Entities/IBaseItem.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System; - -namespace MediaBrowser.Controller.Entities -{ - /// - /// Interface ILibraryItem - /// - public interface IBaseItem - { - /// - /// Gets the name. - /// - /// The name. - string Name { get; } - - /// - /// Gets the id. - /// - /// The id. - Guid Id { get; } - - /// - /// Gets the path. - /// - /// The path. - string Path { get; } - } -} diff --git a/MediaBrowser.Controller/Entities/ILibraryItem.cs b/MediaBrowser.Controller/Entities/ILibraryItem.cs new file mode 100644 index 000000000..b2f39608f --- /dev/null +++ b/MediaBrowser.Controller/Entities/ILibraryItem.cs @@ -0,0 +1,28 @@ +using System; + +namespace MediaBrowser.Controller.Entities +{ + /// + /// Interface ILibraryItem + /// + public interface ILibraryItem + { + /// + /// Gets the name. + /// + /// The name. + string Name { get; } + + /// + /// Gets the id. + /// + /// The id. + Guid Id { get; } + + /// + /// Gets the path. + /// + /// The path. + string Path { get; } + } +} diff --git a/MediaBrowser.Controller/Entities/TV/Episode.cs b/MediaBrowser.Controller/Entities/TV/Episode.cs index 42897e09f..61bf14543 100644 --- a/MediaBrowser.Controller/Entities/TV/Episode.cs +++ b/MediaBrowser.Controller/Entities/TV/Episode.cs @@ -122,48 +122,6 @@ namespace MediaBrowser.Controller.Entities.TV return base.GetUserDataKey(); } - /// - /// Override this if you need to combine/collapse person information - /// - /// All people. - [IgnoreDataMember] - public override IEnumerable AllPeople - { - get - { - if (People == null) return Series != null ? Series.People : People; - return Series != null && Series.People != null ? People.Concat(Series.People) : base.AllPeople; - } - } - - /// - /// Gets all genres. - /// - /// All genres. - [IgnoreDataMember] - public override IEnumerable AllGenres - { - get - { - if (Genres == null) return Series != null ? Series.Genres : Genres; - return Series != null && Series.Genres != null ? Genres.Concat(Series.Genres) : base.AllGenres; - } - } - - /// - /// Gets all studios. - /// - /// All studios. - [IgnoreDataMember] - public override IEnumerable AllStudios - { - get - { - if (Studios == null) return Series != null ? Series.Studios : Studios; - return Series != null && Series.Studios != null ? Studios.Concat(Series.Studios) : base.AllStudios; - } - } - /// /// Our rating comes from our series /// diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index bb5e97621..af3857f17 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -99,7 +99,7 @@ - + diff --git a/MediaBrowser.Model/LiveTv/RecordingInfoDto.cs b/MediaBrowser.Model/LiveTv/RecordingInfoDto.cs index 389df2248..c1161f4ec 100644 --- a/MediaBrowser.Model/LiveTv/RecordingInfoDto.cs +++ b/MediaBrowser.Model/LiveTv/RecordingInfoDto.cs @@ -107,7 +107,13 @@ namespace MediaBrowser.Model.LiveTv /// /// The name of the status. public string StatusName { get; set; } - + + /// + /// Gets or sets the completion percentage. + /// + /// The completion percentage. + public double? CompletionPercentage { get; set; } + /// /// Genre of the program. /// diff --git a/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs b/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs index ad9f769eb..55fa47ff7 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs @@ -231,6 +231,18 @@ namespace MediaBrowser.Server.Implementations.LiveTv }).ToList() }; + if (info.Status == RecordingStatus.InProgress) + { + var now = DateTime.UtcNow.Ticks; + var start = info.StartDate.Ticks; + var end = info.EndDate.Ticks; + + var pct = now - start; + pct /= end; + pct *= 100; + dto.CompletionPercentage = pct; + } + var imageTag = GetImageTag(recording); if (imageTag.HasValue) -- cgit v1.2.3