aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
diff options
context:
space:
mode:
authorTim Hobbs <jesus.tesh@gmail.com>2014-03-20 01:58:16 -0700
committerTim Hobbs <jesus.tesh@gmail.com>2014-03-20 01:58:16 -0700
commit436d10bef946299f67109daa91eff5cc1325f9ff (patch)
tree84e22e9f7482c7a8f1914f2aaef76198ebc7109c /MediaBrowser.Server.Implementations/Library/LibraryManager.cs
parent97c38fbe8228cb2b1dff27aa2e0d8d48464801cb (diff)
parentb762d98fc45f875775e0c60c63a3b157776becdd (diff)
Merge upstream/master
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library/LibraryManager.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Library/LibraryManager.cs24
1 files changed, 24 insertions, 0 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
index 0b1947d4c..91abb6b4f 100644
--- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
@@ -26,6 +26,7 @@ using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
+using MoreLinq;
using SortOrder = MediaBrowser.Model.Entities.SortOrder;
namespace MediaBrowser.Server.Implementations.Library
@@ -540,6 +541,29 @@ namespace MediaBrowser.Server.Implementations.Library
return item;
}
+ public IEnumerable<BaseItem> ReplaceVideosWithPrimaryVersions(IEnumerable<BaseItem> items)
+ {
+ return items.Select(i =>
+ {
+ var video = i as Video;
+
+ if (video != null)
+ {
+ if (video.PrimaryVersionId.HasValue)
+ {
+ var primary = GetItemById(video.PrimaryVersionId.Value) as Video;
+
+ if (primary != null)
+ {
+ return primary;
+ }
+ }
+ }
+
+ return i;
+
+ }).DistinctBy(i => i.Id);
+ }
/// <summary>
/// Ensure supplied item has only one instance throughout