diff --git a/src/Ombi.Core/Engine/TvRequestEngine.cs b/src/Ombi.Core/Engine/TvRequestEngine.cs index e952ac010..5f7b8141b 100644 --- a/src/Ombi.Core/Engine/TvRequestEngine.cs +++ b/src/Ombi.Core/Engine/TvRequestEngine.cs @@ -171,24 +171,30 @@ namespace Ombi.Core.Engine public async Task> GetRequestsLite(int count, int position, OrderFilterModel type) { var shouldHide = await HideFromOtherUsers(); - List allRequests; + List allRequests = null; if (shouldHide.Hide) { - allRequests = await TvRepository.GetLite(shouldHide.UserId) - .OrderByDescending(x => x.ChildRequests.Max(y => y.RequestedDate)) - .Skip(position).Take(count).ToListAsync(); + var tv = TvRepository.GetLite(shouldHide.UserId); + if (tv.Any() && tv.Select(x => x.ChildRequests).Any()) + { + allRequests = await tv.OrderByDescending(x => x.ChildRequests.Max(y => y.RequestedDate)).Skip(position).Take(count).ToListAsync(); + } // Filter out children - FilterChildren(allRequests, shouldHide); } else { - allRequests = await TvRepository.GetLite() - .OrderByDescending(x => x.ChildRequests.Max(y => y.RequestedDate)) - .Skip(position).Take(count).ToListAsync(); + var tv = TvRepository.GetLite(); + if (tv.Any() && tv.Select(x => x.ChildRequests).Any()) + { + allRequests = await tv.OrderByDescending(x => x.ChildRequests.Max(y => y.RequestedDate)).Skip(position).Take(count).ToListAsync(); + } + } + if (allRequests == null) + { + return new RequestsViewModel(); } - allRequests.ForEach(async r => { await CheckForSubscription(shouldHide, r); }); return new RequestsViewModel @@ -288,6 +294,10 @@ namespace Ombi.Core.Engine private static void FilterChildren(IEnumerable allRequests, HideResult shouldHide) { + if (allRequests == null) + { + return; + } // Filter out children foreach (var t in allRequests) {