public async Task <RequestsViewModel <TvRequests> > GetRequestsLite(int count, int position, OrderFilterModel type) { var shouldHide = await HideFromOtherUsers(); List <TvRequests> allRequests; if (shouldHide.Hide) { allRequests = await TvRepository.GetLite(shouldHide.UserId) .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(); } allRequests.ForEach(async r => { await CheckForSubscription(shouldHide, r); }); return(new RequestsViewModel <TvRequests> { Collection = allRequests }); }
public async Task <IEnumerable <TvRequests> > GetRequestsLite() { var shouldHide = await HideFromOtherUsers(); List <TvRequests> allRequests; if (shouldHide.Hide) { allRequests = await TvRepository.GetLite(shouldHide.UserId).ToListAsync(); FilterChildren(allRequests, shouldHide); } else { allRequests = await TvRepository.GetLite().ToListAsync(); } allRequests.ForEach(async r => { await CheckForSubscription(shouldHide, r); }); return(allRequests); }
public async Task <RequestsViewModel <TvRequests> > GetRequestsLite(int count, int position, OrderFilterModel type) { var shouldHide = await HideFromOtherUsers(); List <TvRequests> allRequests = null; if (shouldHide.Hide) { var tv = TvRepository.GetLite(shouldHide.UserId); if (tv.Any() && tv.Select(x => x.ChildRequests).Any()) { allRequests = await tv.OrderByDescending(x => x.ChildRequests.Select(y => y.RequestedDate).FirstOrDefault()).Skip(position).Take(count).ToListAsync(); } // Filter out children FilterChildren(allRequests, shouldHide); } else { var tv = TvRepository.GetLite(); if (tv.Any() && tv.Select(x => x.ChildRequests).Any()) { allRequests = await tv.OrderByDescending(x => x.ChildRequests.Select(y => y.RequestedDate).FirstOrDefault()).Skip(position).Take(count).ToListAsync(); } } if (allRequests == null) { return(new RequestsViewModel <TvRequests>()); } await CheckForSubscription(shouldHide, allRequests); return(new RequestsViewModel <TvRequests> { Collection = allRequests }); }