diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-04-04 01:20:30 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-04-04 01:20:30 -0400 |
| commit | a6cbe479418de63c4852a3c359c0b5cb0dc8f379 (patch) | |
| tree | 2fc60cb930725fa1690e8261e78c71a9d78a9f85 | |
| parent | 99417105a6f527a43918690df82ed5c1c07e9b8b (diff) | |
update live tv suggestions
| -rw-r--r-- | Emby.Server.Implementations/LiveTv/LiveTvManager.cs | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs index 1c43b4188..4ffea3571 100644 --- a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs +++ b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs @@ -1015,29 +1015,28 @@ namespace Emby.Server.Implementations.LiveTv } } - IEnumerable<LiveTvProgram> programs = _libraryManager.QueryItems(internalQuery).Items.Cast<LiveTvProgram>(); + var programList = _libraryManager.QueryItems(internalQuery).Items.Cast<LiveTvProgram>().ToList(); + var totalCount = programList.Count; - var programList = programs.ToList(); + IOrderedEnumerable<LiveTvProgram> orderedPrograms = programList.OrderBy(i => i.StartDate.Date); - var factorChannelWatchCount = (query.IsAiring ?? false) || (query.IsKids ?? false) || (query.IsSports ?? false) || (query.IsMovie ?? false) || (query.IsNews ?? false) || (query.IsSeries ?? false); + if (query.IsAiring ?? false) + { + orderedPrograms = orderedPrograms + .ThenByDescending(i => GetRecommendationScore(i, user.Id, true)); + } - programs = programList.OrderBy(i => i.StartDate.Date) - .ThenByDescending(i => GetRecommendationScore(i, user.Id, factorChannelWatchCount)) - .ThenBy(i => i.StartDate); + IEnumerable<LiveTvProgram> programs = orderedPrograms; if (query.Limit.HasValue) { programs = programs.Take(query.Limit.Value); } - programList = programs.ToList(); - - var returnArray = programList.ToArray(); - var result = new QueryResult<LiveTvProgram> { - Items = returnArray, - TotalRecordCount = returnArray.Length + Items = programs.ToArray(), + TotalRecordCount = totalCount }; return result; |
