diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-12-11 14:54:20 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-12-11 14:54:20 -0500 |
| commit | aa83cb75fde730f72e2d196abe2a014e3739ff3a (patch) | |
| tree | db2ec4cd7dc2a421d35b3c16d0ff521c0e7e579a /MediaBrowser.Controller/Entities | |
| parent | 7ea2bdcf1608f6f4849d89f0da6f06dc5cb77266 (diff) | |
make next up smarter using watched history from deleted items
Diffstat (limited to 'MediaBrowser.Controller/Entities')
| -rw-r--r-- | MediaBrowser.Controller/Entities/TV/Season.cs | 18 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/TV/Series.cs | 30 |
2 files changed, 37 insertions, 11 deletions
diff --git a/MediaBrowser.Controller/Entities/TV/Season.cs b/MediaBrowser.Controller/Entities/TV/Season.cs index a53bb53f1..5727b316b 100644 --- a/MediaBrowser.Controller/Entities/TV/Season.cs +++ b/MediaBrowser.Controller/Entities/TV/Season.cs @@ -222,19 +222,35 @@ namespace MediaBrowser.Controller.Entities.TV /// <returns>IEnumerable{Episode}.</returns> public IEnumerable<Episode> GetEpisodes(User user) { + var config = user.Configuration; + + return GetEpisodes(user, config.DisplayMissingEpisodes, config.DisplayUnairedEpisodes); + } + + public IEnumerable<Episode> GetEpisodes(User user, bool includeMissingEpisodes, bool includeVirtualUnairedEpisodes) + { if (IndexNumber.HasValue) { var series = Series; if (series != null) { - return series.GetEpisodes(user, IndexNumber.Value); + return series.GetEpisodes(user, IndexNumber.Value, includeMissingEpisodes, includeVirtualUnairedEpisodes); } } var episodes = GetRecursiveChildren(user) .OfType<Episode>(); + if (!includeMissingEpisodes) + { + episodes = episodes.Where(i => !i.IsMissingEpisode); + } + if (!includeVirtualUnairedEpisodes) + { + episodes = episodes.Where(i => !i.IsVirtualUnaired); + } + return LibraryManager .Sort(episodes, user, new[] { ItemSortBy.SortName }, SortOrder.Ascending) .Cast<Episode>(); diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs index c48b44d91..1565de4f8 100644 --- a/MediaBrowser.Controller/Entities/TV/Series.cs +++ b/MediaBrowser.Controller/Entities/TV/Series.cs @@ -129,22 +129,27 @@ namespace MediaBrowser.Controller.Entities.TV public IEnumerable<Season> GetSeasons(User user) { + var config = user.Configuration; + + return GetSeasons(user, config.DisplayMissingEpisodes, config.DisplayUnairedEpisodes); + } + + public IEnumerable<Season> GetSeasons(User user, bool includeMissingSeasons, bool includeVirtualUnaired) + { var seasons = base.GetChildren(user, true) .OfType<Season>(); - var config = user.Configuration; - - if (!config.DisplayMissingEpisodes && !config.DisplayUnairedEpisodes) + if (!includeMissingSeasons && !includeVirtualUnaired) { seasons = seasons.Where(i => !i.IsMissingOrVirtualUnaired); } else { - if (!config.DisplayMissingEpisodes) + if (!includeMissingSeasons) { seasons = seasons.Where(i => !i.IsMissingSeason); } - if (!config.DisplayUnairedEpisodes) + if (!includeVirtualUnaired) { seasons = seasons.Where(i => !i.IsVirtualUnaired); } @@ -152,23 +157,28 @@ namespace MediaBrowser.Controller.Entities.TV return LibraryManager .Sort(seasons, user, new[] { ItemSortBy.SortName }, SortOrder.Ascending) - .Cast<Season>(); + .Cast<Season>(); } public IEnumerable<Episode> GetEpisodes(User user, int seasonNumber) { + var config = user.Configuration; + + return GetEpisodes(user, seasonNumber, config.DisplayMissingEpisodes, config.DisplayUnairedEpisodes); + } + + public IEnumerable<Episode> GetEpisodes(User user, int seasonNumber, bool includeMissingEpisodes, bool includeVirtualUnairedEpisodes) + { var episodes = GetRecursiveChildren(user) .OfType<Episode>(); episodes = FilterEpisodesBySeason(episodes, seasonNumber, DisplaySpecialsWithSeasons); - var config = user.Configuration; - - if (!config.DisplayMissingEpisodes) + if (!includeMissingEpisodes) { episodes = episodes.Where(i => !i.IsMissingEpisode); } - if (!config.DisplayUnairedEpisodes) + if (!includeVirtualUnairedEpisodes) { episodes = episodes.Where(i => !i.IsVirtualUnaired); } |
