From a6cbe479418de63c4852a3c359c0b5cb0dc8f379 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 4 Apr 2017 01:20:30 -0400 Subject: [PATCH] update live tv suggestions --- .../LiveTv/LiveTvManager.cs | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs index 1c43b41882..4ffea3571f 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 programs = _libraryManager.QueryItems(internalQuery).Items.Cast(); + var programList = _libraryManager.QueryItems(internalQuery).Items.Cast().ToList(); + var totalCount = programList.Count; - var programList = programs.ToList(); + IOrderedEnumerable 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 programs = orderedPrograms; if (query.Limit.HasValue) { programs = programs.Take(query.Limit.Value); } - programList = programs.ToList(); - - var returnArray = programList.ToArray(); - var result = new QueryResult { - Items = returnArray, - TotalRecordCount = returnArray.Length + Items = programs.ToArray(), + TotalRecordCount = totalCount }; return result;