public async Task <IActionResult> GetPagedResult(ItemJqDataTableRequestModel model) { var pagedResult = await _manager.GetPagedResultAsync(model); return(Ok(pagedResult)); }
public async Task <JqDataTableResponse <ItemListItemDto> > GetPagedResultAsync(ItemJqDataTableRequestModel model) { if (model.Length == 0) { model.Length = Constants.DefaultPageSize; } var filterKey = model.Search.Value; var linqStmt = (from s in _dataContext.Items where s.Status != Constants.RecordStatus.Deleted && (model.FilterKey == null || EF.Functions.Like(s.Name, "%" + model.FilterKey + "%") || EF.Functions.Like(s.Description, "%" + model.FilterKey + "%")) select new ItemListItemDto { Id = s.Id, Name = s.Name, Rate = s.Rate, Description = s.Description ?? "", Status = s.Status, TaxCode = s.SalesTax.Code, TaxPercentage = s.SalesTax.TaxPercentage, BankAccountId = s.BankAccountId }) .AsNoTracking(); var sortExpresstion = model.GetSortExpression(); var pagedResult = new JqDataTableResponse <ItemListItemDto> { RecordsTotal = await _dataContext.Items.CountAsync(x => x.Status != Constants.RecordStatus.Deleted), RecordsFiltered = await linqStmt.CountAsync(), Data = await linqStmt.OrderBy(sortExpresstion).Skip(model.Start).Take(model.Length).ToListAsync() }; return(pagedResult); }
public async Task <JqDataTableResponse <ItemListItemDto> > GetPagedResultAsync(ItemJqDataTableRequestModel model) { return(await _repository.GetPagedResultAsync(model)); }