From bed6bed5c699e1b44b0b133cebd450bba829ca41 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 27 Jan 2015 23:30:44 -0500 Subject: support getting all episodes per series --- MediaBrowser.Controller/Entities/TV/Series.cs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'MediaBrowser.Controller') 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(); } + public IEnumerable 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(); + + foreach (var episode in allEpisodes) + { + if (!returnList.Contains(episode)) + { + returnList.Insert(0, episode); + } + } + + return returnList; + } + public IEnumerable GetEpisodes(User user, int seasonNumber) { var config = user.Configuration; -- cgit v1.2.3