public async Task <DataTableReady <ProductViewModel> > GetProductsAsync(DataTableBody body) { var query = CreateFilterAndSort(body.Search, body.Order); var filteredCount = await query.CountAsync(); var totalCount = await _db.Products.CountAsync(); query = query.Skip(body.Start).Take(body.Length); return(new DataTableReady <ProductViewModel> { Draw = body.Draw, RecordsFiltered = filteredCount, RecordsTotal = totalCount, Data = await query.Select(c => new ProductViewModel() { Id = c.Id, Name = c.Name }).ToListAsync() }); }
public async Task <JsonResult> Search(DataTableBody body) { return(Json(await _productManager.GetProductsAsync(body))); }