aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-12-11 14:54:20 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-12-11 14:54:20 -0500
commitaa83cb75fde730f72e2d196abe2a014e3739ff3a (patch)
treedb2ec4cd7dc2a421d35b3c16d0ff521c0e7e579a /MediaBrowser.Controller/Entities
parent7ea2bdcf1608f6f4849d89f0da6f06dc5cb77266 (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.cs18
-rw-r--r--MediaBrowser.Controller/Entities/TV/Series.cs30
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);
}