diff options
| author | Luke <luke.pulverenti@gmail.com> | 2016-08-25 14:26:39 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-08-25 14:26:39 -0400 |
| commit | 259c5b9d44bc098b213a408adc8abfaacf4a106f (patch) | |
| tree | 6a1bd02d91972640a616fae633e2c23ce2b56e0a /MediaBrowser.Controller | |
| parent | c9c3f0e07d359de24a547c3e620694bc5fe0096b (diff) | |
| parent | 2b61894e3ce1c0ec6d188a6be550cf22c2f84fa9 (diff) | |
Merge pull request #2099 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Controller')
| -rw-r--r-- | MediaBrowser.Controller/Entities/Folder.cs | 6 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/TV/Episode.cs | 46 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/TV/Season.cs | 8 |
3 files changed, 34 insertions, 26 deletions
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index bea648a3d..bf47ada0d 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -891,16 +891,16 @@ namespace MediaBrowser.Controller.Entities { if (query.ItemIds.Length > 0) { - var specificItems = query.ItemIds.Select(LibraryManager.GetItemById).Where(i => i != null).ToList(); + var result = LibraryManager.GetItemsResult(query); if (query.SortBy.Length == 0) { var ids = query.ItemIds.ToList(); // Try to preserve order - specificItems = specificItems.OrderBy(i => ids.IndexOf(i.Id.ToString("N"))).ToList(); + result.Items = result.Items.OrderBy(i => ids.IndexOf(i.Id.ToString("N"))).ToArray(); } - return Task.FromResult(PostFilterAndSort(specificItems, query, true, true)); + return Task.FromResult(result); } return GetItemsInternal(query); diff --git a/MediaBrowser.Controller/Entities/TV/Episode.cs b/MediaBrowser.Controller/Entities/TV/Episode.cs index 726390f65..1a02043d6 100644 --- a/MediaBrowser.Controller/Entities/TV/Episode.cs +++ b/MediaBrowser.Controller/Entities/TV/Episode.cs @@ -135,7 +135,11 @@ namespace MediaBrowser.Controller.Entities.TV [IgnoreDataMember] public Series Series { - get { return FindParent<Series>(); } + get + { + var seriesId = SeriesId ?? FindSeriesId();
+ return seriesId.HasValue ? (LibraryManager.GetItemById(seriesId.Value) as Series) : null; + } } [IgnoreDataMember] @@ -143,24 +147,8 @@ namespace MediaBrowser.Controller.Entities.TV { get { - var season = FindParent<Season>(); - - // Episodes directly in series folder - if (season == null) - { - var series = Series; - - if (series != null && ParentIndexNumber.HasValue) - { - var findNumber = ParentIndexNumber.Value; - - season = series.Children - .OfType<Season>() - .FirstOrDefault(i => i.IndexNumber.HasValue && i.IndexNumber.Value == findNumber); - } - } - - return season; + var seasonId = SeasonId ?? FindSeasonId();
+ return seasonId.HasValue ? (LibraryManager.GetItemById(seasonId.Value) as Season) : null; } } @@ -193,7 +181,23 @@ namespace MediaBrowser.Controller.Entities.TV public Guid? FindSeasonId()
{
- var season = Season;
+ var season = FindParent<Season>();
+
+ // Episodes directly in series folder
+ if (season == null)
+ {
+ var series = Series;
+
+ if (series != null && ParentIndexNumber.HasValue)
+ {
+ var findNumber = ParentIndexNumber.Value;
+
+ season = series.Children
+ .OfType<Season>()
+ .FirstOrDefault(i => i.IndexNumber.HasValue && i.IndexNumber.Value == findNumber);
+ }
+ }
+
return season == null ? (Guid?)null : season.Id;
} @@ -263,7 +267,7 @@ namespace MediaBrowser.Controller.Entities.TV public Guid? FindSeriesId()
{
- var series = Series;
+ var series = FindParent<Series>(); return series == null ? (Guid?)null : series.Id;
} diff --git a/MediaBrowser.Controller/Entities/TV/Season.cs b/MediaBrowser.Controller/Entities/TV/Season.cs index 842b2fd60..65b7c9955 100644 --- a/MediaBrowser.Controller/Entities/TV/Season.cs +++ b/MediaBrowser.Controller/Entities/TV/Season.cs @@ -99,7 +99,11 @@ namespace MediaBrowser.Controller.Entities.TV [IgnoreDataMember] public Series Series { - get { return FindParent<Series>(); } + get + { + var seriesId = SeriesId ?? FindSeriesId(); + return seriesId.HasValue ? (LibraryManager.GetItemById(seriesId.Value) as Series) : null; + } } [IgnoreDataMember] @@ -241,7 +245,7 @@ namespace MediaBrowser.Controller.Entities.TV public Guid? FindSeriesId() { - var series = Series; + var series = FindParent<Series>(); return series == null ? (Guid?)null : series.Id; } |
