Esempio n. 1
0
        public Task <PageList <Essay> > GetEssays(Guid userId, EssayResourceParameters parameters)
        {
            IQueryable <Essay> queryableEssays = _dbContext.Set <Essay>()
                                                 .Where(x => x.UserId == userId)
                                                 .Include(x => x.User)
                                                 .Include(x => x.EssayClassifications)
                                                 .ThenInclude(x => x.Classification);

            return(PageList <Essay>
                   .CreateAsync(queryableEssays,
                                parameters.PageNumber,
                                parameters.PageSize));
        }
        public async Task <IActionResult> GetEssaySummaryAsync
            ([FromQuery] EssayResourceParameters parameters)
        {
            var pagedList = await _essayRepository.GetAll(parameters);

            CreatePagedMeta(pagedList);
            var essayDtoList = _mapper.Map <IEnumerable <EssayDto> >(pagedList);
            //开始进行数据塑形,把页元信息添加到Body里
            //var shapedData = essayDtoList.ShapeData()
            var essayDtoListWithPagination = new
            {
                data = essayDtoList,
                meta = new
                {
                    total       = _essayRepository.EssaysCount(),
                    page_size   = parameters.PageSize,
                    page_number = parameters.PageNumber
                }
            };

            return(Ok(essayDtoListWithPagination));
        }
Esempio n. 3
0
        public async Task <ActionResult <IEnumerable <EssayDto> > > GetEssaysAsync(Guid userId, [FromQuery] EssayResourceParameters parameters)
        {
            var essayList = await _repositoryWrapper.Essay.GetEssays(userId, parameters);

            CreatePagedMeta(essayList, userId);
            var essayDtoList = _mapper.Map <IEnumerable <EssayDto> >(essayList);
            var essayDtoListWithPagination = new
            {
                data = essayDtoList,
                meta = new
                {
                    total       = _repositoryWrapper.Essay.EssaysCount(userId),
                    page_size   = parameters.PageSize,
                    page_number = parameters.PageNumber
                }
            };

            return(Ok(essayDtoListWithPagination));
        }