public async Task <DTResult <CategoryListViewModel> > Handle(GetCategoriesDataTableQuery request, CancellationToken cancellationToken) { var orderInfo = request.Order[0]; Expression <Func <Category, bool> > search = x => x.Name.ToLower().Contains(request.Search.Value.ToLower()); var categoriesCount = await _myBlogDbContext.Categories.CountAsync(); var categories = await _myBlogDbContext.Categories .Where(search) .Skip(request.Start) .Take(request.Length) .Select(_projection) .ToListAsync(); categories = OrderData(orderInfo.Column, orderInfo.Dir, categories).ToList(); var count = request.Start + 1; categories.ForEach(x => x.SN = count++); return(new DTResult <CategoryListViewModel> { Data = categories, Draw = request.Draw, RecordsFiltered = categoriesCount, RecordsTotal = categoriesCount }); }
public async Task <IActionResult> GetDataTableResult([FromBody] GetCategoriesDataTableQuery query) { var response = await _mediator.Send(query); return(Ok(response)); }