From 4ddde2cdc2ad3a951120853825df9f3588bc36e4 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 1 May 2016 18:11:24 -0400 Subject: introduce presentation unique key --- MediaBrowser.Controller/Entities/BaseItem.cs | 6 +++ MediaBrowser.Controller/Entities/TV/Series.cs | 6 +++ MediaBrowser.Controller/Entities/Video.cs | 76 +++++++++++++++++++-------- 3 files changed, 66 insertions(+), 22 deletions(-) (limited to 'MediaBrowser.Controller') diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index f91b6b31e..6bf55e108 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -1149,6 +1149,12 @@ namespace MediaBrowser.Controller.Entities get { return null; } } + [IgnoreDataMember] + public virtual string PresentationUniqueKey + { + get { return Id.ToString("N"); } + } + private string _userDataKey; /// /// Gets the user data key. diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs index c03eed6c9..c062b5fba 100644 --- a/MediaBrowser.Controller/Entities/TV/Series.cs +++ b/MediaBrowser.Controller/Entities/TV/Series.cs @@ -91,6 +91,12 @@ namespace MediaBrowser.Controller.Entities.TV } } + [IgnoreDataMember] + public override string PresentationUniqueKey + { + get { return GetUserDataKey(); } + } + /// /// Gets the user data key. /// diff --git a/MediaBrowser.Controller/Entities/Video.cs b/MediaBrowser.Controller/Entities/Video.cs index cdabaa84e..67b710534 100644 --- a/MediaBrowser.Controller/Entities/Video.cs +++ b/MediaBrowser.Controller/Entities/Video.cs @@ -44,6 +44,20 @@ namespace MediaBrowser.Controller.Entities } } + [IgnoreDataMember] + public override string PresentationUniqueKey + { + get + { + if (PrimaryVersionId.HasValue) + { + return PrimaryVersionId.Value.ToString("N"); + } + + return base.PresentationUniqueKey; + } + } + public long? Size { get; set; } public string Container { get; set; } public int? TotalBitrate { get; set; } @@ -90,6 +104,14 @@ namespace MediaBrowser.Controller.Entities { get { + if (PrimaryVersionId.HasValue) + { + var item = LibraryManager.GetItemById(PrimaryVersionId.Value) as Video; + if (item != null) + { + return item.MediaSourceCount; + } + } return LinkedAlternateVersions.Count + LocalAlternateVersions.Count + 1; } } @@ -192,21 +214,6 @@ namespace MediaBrowser.Controller.Entities return key; } - /// - /// Gets the linked children. - /// - /// IEnumerable{BaseItem}. - public IEnumerable