Ejemplo n.º 1
0
        public async Task <IActionResult> GetPositionPaging([FromQuery] GetPositionPagingRequest request)
        {
            var positions = await _positionService.GetPositionPaging(request);

            return(Ok(positions));
        }
Ejemplo n.º 2
0
        public async Task <ApiResult <PagedResult <GetPositionPagingViewModel> > > GetPositionPaging(GetPositionPagingRequest request)
        {
            var query = from p in _context.Positions
                        select new { p };

            if (!string.IsNullOrEmpty(request.Keyword))
            {
                query = query.Where(x => x.p.Name.Contains(request.Keyword));
            }
            int totalRow = await query.CountAsync();

            var data = await query.Skip((request.PageIndex - 1) *request.PageSize)
                       .Take(request.PageSize)
                       .Select(x => new GetPositionPagingViewModel()
            {
                PosID       = x.p.PosID,
                Name        = x.p.Name,
                Description = x.p.Description
            }).ToListAsync();

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

            return(new ApiSuccessResult <PagedResult <GetPositionPagingViewModel> >(pagedResult));
        }