Ejemplo n.º 1
0
        public async Task <ApiResult <PagedResult <ClassVm> > > GetAllPaging(GetClassPagingRequest request)
        {
            //lọc dữ liệu
            var query = from c in _context.Classes
                        select new { c };

            //filter
            if (!string.IsNullOrEmpty(request.Keyword))
            {
                query = query.Where(x => x.c.Name.Contains(request.Keyword) || x.c.Description.Contains(request.Keyword));
            }

            //Paging
            int totalRow = await query.CountAsync();

            var data = await query.Skip((request.PageIndex - 1) *request.PageSize)
                       .Take(request.PageSize)
                       .Select(x => new ClassVm()
            {
                Id_Class    = x.c.Id_Class,
                Name        = x.c.Name,
                Description = x.c.Description,
                DateCreate  = x.c.DateCreate,
                DateUpdate  = x.c.DateUpdate,
            }).ToListAsync();

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

            return(new ApiSuccessResult <PagedResult <ClassVm> >(pagedResult));
        }
Ejemplo n.º 2
0
 public async Task<IActionResult> GetAll([FromQuery] GetClassPagingRequest request)
 {
     var classes = await _classService.GetAllPaging(request);
     return Ok(classes);
 }