public dynamic GetList(string _search, long nd, int rows, int?page, string sidx, string sord, string filters = "") { // Construct where statement string strWhere = GeneralFunction.ConstructWhere(filters); // Get Data var query = _purchaseReceivalService.GetAll().Where(d => d.IsDeleted == false); var list = query as IEnumerable <PurchaseReceival>; var pageIndex = Convert.ToInt32(page) - 1; var pageSize = rows; var totalRecords = query.Count(); var totalPages = (int)Math.Ceiling((float)totalRecords / (float)pageSize); // default last page if (totalPages > 0) { if (!page.HasValue) { pageIndex = totalPages - 1; page = totalPages; } } list = list.Skip(pageIndex * pageSize).Take(pageSize); return(Json(new { total = totalPages, page = page, records = totalRecords, rows = ( from model in list select new { id = model.Id, cell = new object[] { model.Id, model.Code, model.PurchaseOrderId, _purchaseOrderService.GetObjectById(model.PurchaseOrderId).Code, model.ReceivalDate, model.WarehouseId, _warehouseService.GetObjectById(model.WarehouseId).Name, model.IsConfirmed, model.ConfirmationDate, model.CreatedAt, model.UpdatedAt, } }).ToArray() }, JsonRequestBehavior.AllowGet)); }