Beispiel #1
0
        public async Task <PagedResponse <Link> > GetHomePageLinks(int?pageNumber)
        {
            var links = _dbContext.Links
                        .Include(u => u.User)
                        .Include(v => v.Votes)
                        .ThenInclude(u => u.User)
                        .Where(l => l.UploadDate >= DateTime.Now.AddDays(-5))
                        .OrderByDescending(l => l.Points);

            var pageSize = 100;

            return(await PagedResponse <Link> .CreateAsync(links.AsNoTracking(), pageNumber ?? 1, pageSize));
        }
        public async Task <PagedResponse <Confession> > GetConfessionsAsync(PaginationQuery paginationQuery = null)
        {
            var confessions = _db.Confessions.OrderByDescending(c => c.CreatedDate);

            // if (paginationFilter == null)
            // {
            //     return await confessions;
            // }

            //var skip = (paginationFilter.PageNumber - 1) * paginationFilter.PageSize;

            //return await _db.Confessions.Skip(skip).Take(paginationFilter.PageSize).ToListAsync();
            return(await PagedResponse <Confession> .CreateAsync(confessions, paginationQuery.PageNumber, paginationQuery.PageSize));
        }
Beispiel #3
0
        public async Task <PagedResponse <Link> > GetUserLinks(int?pageNumber)
        {
            var userEmail = _httpContextAccessor.HttpContext.User.Identity.Name;
            var user      = await _userManager.FindByEmailAsync(userEmail);

            var pageSize = 100;

            var links = await PagedResponse <Link> .CreateAsync(_dbContext.Links
                                                                .Include(u => u.User)
                                                                .Include(v => v.Votes)
                                                                .ThenInclude(u => u.User)
                                                                .Where(l => l.User == user)
                                                                .OrderByDescending(l => l.Points), pageNumber ?? 1, pageSize);

            return(links);
        }