public async Task <IActionResult> ProductRequest(DataSourceRequest command, ProcessOrderListModel model) { var(processOrderListModel, totalCount) = await _processOrderService.PrepareProductRequestListModel(model, command.Page, command.PageSize); var gridModel = new DataSourceResult { Data = processOrderListModel, Total = totalCount }; return(Json(gridModel)); }
public async Task <(IEnumerable <ProcessOrderModel> processOrderListModel, int totalCount)> PrepareProductRequestListModel(ProcessOrderListModel model, int pageIndex, int pageSize) { var query = from o in _orderRepository.Table where o.OclientId == (int)_workContext.CurrentCustomer.ClientId && o.Oapproved == false select new ProcessOrderModel { Ostatus = o.Ostatus, OrdersId = o.OrdersId, Oitem = o.Oitem, Odescription = o.Odescription, Ouom = o.Ouom, Opkg = o.Opkg, Oqty = o.Oqty, OshipId = o.OshipId, OshipName = o.OshipName, OsellingPrice = o.OsellingPrice, OvendorId = o.OvendorId, OvendorName = o.OvendorName, Ohold = o.Ohold, Odate = o.Odate, VitemId = o.VitemId }; //Sorting if (model.intSort == 1) { query = query.OrderBy(c => c.OshipName); } if (model.intSort == 2) { query = query.OrderBy(c => c.Odate); } if (model.intSort == 3) { query = query.OrderBy(c => c.Oitem); } if (model.intSort == 9) { query = query.OrderBy(c => c.Oqty); } if (model.intSort == 10) { query = query.OrderBy(c => c.Total); } if (model.intSort == 4) { query = query.OrderBy(c => c.OvendorName); } var processOrderListModel = query.ToList(); int totalCount = processOrderListModel.Count; int pageOffSet = (Convert.ToInt32(pageIndex) - 1) * 10; processOrderListModel = processOrderListModel.Skip(pageOffSet).Take(Convert.ToInt32(pageSize)).ToList(); return(processOrderListModel, totalCount); }