示例#1
0
        public async Task <PagedResult <NewsContentViewModel> > GetAllPaging(GetNewsContentPagingRequest request)
        {
            var query = _context.NewsContents
                        .OrderByDescending(x => x.PublishedDate).AsQueryable();
            var totalRow = await query.CountAsync();

            var newsContentPaging = query.Skip((request.PageIndex - 1) * request.PageSize)
                                    .Take(request.PageSize)
                                    .Include(x => x.Zone)
                                    .Include(x => x.NewsExtensions);

            var newsContents = await newsContentPaging.ToListAsync();

            var data = _mapper.Map <List <NewsContentViewModel> >(newsContents);

            var pagedResult = new PagedResult <NewsContentViewModel>()
            {
                TotalRecords = totalRow,
                PageSize     = request.PageSize,
                PageIndex    = request.PageIndex,
                Items        = data
            };

            return(pagedResult);
        }
示例#2
0
        public async Task <IActionResult> GetAllPaging([FromQuery] GetNewsContentPagingRequest request)
        {
            var newsContents = await _newsContentService.GetAllPaging(request);

            return(Ok(newsContents));
        }