public async Task <IActionResult> WorkOrderHistory(DataSourceRequest command, WOHistoryListModel model) { var(woHistoryListModel, totalCount) = await _workorderService.PrepareWOHistoryListModel(model, command.Page, command.PageSize); var gridModel = new DataSourceResult { Data = woHistoryListModel, Total = totalCount }; return(Json(gridModel)); }
public async Task <(IEnumerable <WOHistoryModel> WOHistoryList, int totalCount)> PrepareWOHistoryListModel(WOHistoryListModel model, int pageIndex, int pageSize) { try { var query = _soRepository.Table.Where(s => s.SoclientId == (int)_workContext.CurrentCustomer.ClientId); if (model.Status != "All") { query = query.Where(s => s.Sostatus.ToLower().Contains(model.Status.ToLower())); } if (!string.IsNullOrWhiteSpace(model.SearchByOrder)) { query = query.Where(s => s.Sonumber.ToLower().Contains(model.SearchByOrder.ToLower())); } if (!string.IsNullOrWhiteSpace(model.SearchByVendor)) { query = query.Where(s => s.Scvendor.ToLower().Contains(model.SearchByVendor.ToLower())); } if (!string.IsNullOrWhiteSpace(model.SearchByDept)) { query = query.Where(s => s.SoshipName.ToLower().Contains(model.SearchByDept.ToLower())); } var result = query.OrderBy(s => s.SohistoryId); var woHistoryListModel = _mapper.Map <List <WOHistoryModel> >(result); int totalCount = woHistoryListModel.Count; int pageOffSet = (Convert.ToInt32(pageIndex) - 1) * 10; woHistoryListModel = woHistoryListModel.Skip(pageOffSet).Take(Convert.ToInt32(pageSize)).ToList(); return(woHistoryListModel, totalCount); } catch (Exception ex) { } return(null, 0); }