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));
 }