diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations')
| -rw-r--r-- | MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs index 131c5c0fb..332cbf016 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs @@ -336,6 +336,34 @@ namespace MediaBrowser.Server.Implementations.LiveTv { IEnumerable<LiveTvProgram> programs = _programs.Values; + if (query.MinEndDate.HasValue) + { + var val = query.MinEndDate.Value; + + programs = programs.Where(i => i.ProgramInfo.EndDate >= val); + } + + if (query.MinStartDate.HasValue) + { + var val = query.MinStartDate.Value; + + programs = programs.Where(i => i.ProgramInfo.StartDate >= val); + } + + if (query.MaxEndDate.HasValue) + { + var val = query.MaxEndDate.Value; + + programs = programs.Where(i => i.ProgramInfo.EndDate <= val); + } + + if (query.MaxStartDate.HasValue) + { + var val = query.MaxStartDate.Value; + + programs = programs.Where(i => i.ProgramInfo.StartDate <= val); + } + if (query.ChannelIdList.Length > 0) { var guids = query.ChannelIdList.Select(i => new Guid(i)).ToList(); @@ -355,7 +383,9 @@ namespace MediaBrowser.Server.Implementations.LiveTv if (user != null) { - programs = programs.Where(i => i.IsParentalAllowed(user)); + // Avoid implicitly captured closure + var currentUser = user; + programs = programs.Where(i => i.IsParentalAllowed(currentUser)); } var returnArray = programs |
