public async Task <JqDataTableResponse <VendorListItemDto> > GetPagedResultAsync(VendorJqDataTableRequestModel model) { if (model.Length == 0) { model.Length = Constants.DefaultPageSize; } var filterKey = model.Search.Value; var linqStmt = (from v in _dataContext.Vendors where v.Status != Constants.RecordStatus.Deleted && (model.FilterKey == null || EF.Functions.Like(v.Name, "%" + model.FilterKey + "%") || EF.Functions.Like(v.Email, "%" + model.FilterKey + "%")) select new VendorListItemDto { Id = v.Id, HSTNumber = v.HSTNumber, Name = v.Name, Email = v.Email, Phone = v.Phone, Fax = v.Fax, Website = v.Website, Status = v.Status }) .AsNoTracking(); var sortExpression = model.GetSortExpression(); var pagedResult = new JqDataTableResponse <VendorListItemDto> { RecordsTotal = await _dataContext.Vendors.CountAsync(x => x.Status != Constants.RecordStatus.Deleted), RecordsFiltered = await linqStmt.CountAsync(), Data = await linqStmt.OrderBy(sortExpression).Skip(model.Start) .Take(model.Length) .ToListAsync() }; return(pagedResult); }
public async Task <JqDataTableResponse <VendorListItemDto> > GetPagedResultAsync(VendorJqDataTableRequestModel model) { return(await _vendorRepository.GetPagedResultAsync(model)); }
public async Task <IActionResult> GetPagedResult(VendorJqDataTableRequestModel model) { var pagedResult = await _vendorManager.GetPagedResultAsync(model); return(Ok(pagedResult)); }