diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-01-27 23:30:44 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-01-27 23:30:44 -0500 |
| commit | bed6bed5c699e1b44b0b133cebd450bba829ca41 (patch) | |
| tree | a9064cf8f758ce7092f0b94d44b18de76730550a /MediaBrowser.Controller/Entities | |
| parent | 6f59f6cd927ed0ebd0da74e0262fa108ca57cfdb (diff) | |
support getting all episodes per series
Diffstat (limited to 'MediaBrowser.Controller/Entities')
| -rw-r--r-- | MediaBrowser.Controller/Entities/TV/Series.cs | 25 |
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; |
