Пример #1
0
        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
            });
        }
Пример #2
0
        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);
        }
Пример #3
0
        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
            });
        }