aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-01-27 23:30:44 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-01-27 23:30:44 -0500
commitbed6bed5c699e1b44b0b133cebd450bba829ca41 (patch)
treea9064cf8f758ce7092f0b94d44b18de76730550a /MediaBrowser.Controller/Entities
parent6f59f6cd927ed0ebd0da74e0262fa108ca57cfdb (diff)
support getting all episodes per series
Diffstat (limited to 'MediaBrowser.Controller/Entities')
-rw-r--r--MediaBrowser.Controller/Entities/TV/Series.cs25
1 files changed, 25 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs
index ba537403b..1033df4de 100644
--- a/MediaBrowser.Controller/Entities/TV/Series.cs
+++ b/MediaBrowser.Controller/Entities/TV/Series.cs
@@ -185,6 +185,31 @@ namespace MediaBrowser.Controller.Entities.TV
.Cast<Season>();
}
+ public IEnumerable<Episode> GetEpisodes(User user)
+ {
+ var config = user.Configuration;
+
+ var allEpisodes = GetSeasons(user, true, true)
+ .SelectMany(i => i.GetEpisodes(user, config.DisplayMissingEpisodes, config.DisplayUnairedEpisodes))
+ .Reverse()
+ .ToList();
+
+ // Specials could appear twice based on above - once in season 0, once in the aired season
+ // This depends on settings for that series
+ // When this happens, remove the duplicate from season 0
+ var returnList = new List<Episode>();
+
+ foreach (var episode in allEpisodes)
+ {
+ if (!returnList.Contains(episode))
+ {
+ returnList.Insert(0, episode);
+ }
+ }
+
+ return returnList;
+ }
+
public IEnumerable<Episode> GetEpisodes(User user, int seasonNumber)
{
var config = user.Configuration;