diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-03-19 00:59:45 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-03-19 00:59:45 -0400 |
| commit | 683d8455c6ce75bcefc8749fe5a5d15d90a28625 (patch) | |
| tree | ecae2ce3365c839d20756545c83f4cf246f9c88c /MediaBrowser.Server.Implementations | |
| parent | 94f5ba6ce6cc46c2918dbb74c3bbb7d5ee554699 (diff) | |
#712 - Group multiple versions
Diffstat (limited to 'MediaBrowser.Server.Implementations')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Dto/DtoService.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/Library/LibraryManager.cs | 24 |
2 files changed, 25 insertions, 1 deletions
diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs index 3aaf6eb80..a66cb148f 100644 --- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs +++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs @@ -651,7 +651,7 @@ namespace MediaBrowser.Server.Implementations.Dto /// <param name="chapterInfo">The chapter info.</param> /// <param name="item">The item.</param> /// <returns>ChapterInfoDto.</returns> - private ChapterInfoDto GetChapterInfoDto(ChapterInfo chapterInfo, BaseItem item) + public ChapterInfoDto GetChapterInfoDto(ChapterInfo chapterInfo, BaseItem item) { var dto = new ChapterInfoDto { 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 |
