public async Task <IActionResult> UsageReport() { var model = new UsageListModel(); model.strItem = "ALL"; //CostCenter DropDown model.AvailableCostCenter.Add(new SelectListItem { Text = "ALL", Value = "0" }); foreach (var item in (await _financialDataService.GetCostCenterList((int)_workContext.CurrentCustomer.ClientId))) { model.AvailableCostCenter.Add(new SelectListItem { Text = item.Both, Value = item.SName.ToString() }); } //Vendor Dropdown model.AvailableVendors.Add(new SelectListItem { Text = "ALL", Value = "0" }); foreach (var item in (await _financialDataService.GetVendorUsage((int)_workContext.CurrentCustomer.ClientId))) { model.AvailableVendors.Add(new SelectListItem { Text = item.HVendorName, Value = item.HVendorName.ToString() }); } return(View(model)); }
public async Task <IActionResult> UsageReport(DataSourceRequest command, UsageListModel model) { var(UsageModelList, totalCount) = await _financialDataService.PrepareUsageListModel(model, command.Page, command.PageSize); var gridModel = new DataSourceResult { Data = UsageModelList, Total = totalCount }; return(Json(gridModel)); }
public async Task <(IEnumerable <UsageFirst> UsageModelList, int totalCount)> PrepareUsageListModel(UsageListModel model, int pageIndex, int pageSize) { try { model.intClientID = (int)_workContext.CurrentCustomer.ClientId; SqlParameter[] pr = new SqlParameter[] { new SqlParameter("@DateStart", (string.IsNullOrEmpty(model.DateStart)) ? DBNull.Value.ToString() : model.DateStart), new SqlParameter("@DateEnd", (string.IsNullOrEmpty(model.DateEnd)) ? DBNull.Value.ToString() : model.DateEnd), new SqlParameter("@intClientID", model.intClientID), new SqlParameter("@intSort", model.intSort), new SqlParameter("@intCore", model.intCore), new SqlParameter("@strVendor", (string.IsNullOrEmpty(model.strVendor)) ? DBNull.Value.ToString() : model.strVendor), new SqlParameter("@strItem", model.strItem), new SqlParameter("@strCostCenter", model.strCostCenter == "0" ? "%" : model.strCostCenter), }; var query = await _dbContext.Set <UsageFirst>().FromSqlRaw("exec UsageFirst @DateStart,@DateEnd,@intClientID,@intSort,@intCore,@strVendor,@strItem,@strCostCenter", pr).ToListAsync(); int totalCount = query.Count; int pageOffSet = (Convert.ToInt32(pageIndex) - 1) * 10; query = query.Skip(pageOffSet).Take(Convert.ToInt32(pageSize)).ToList(); return(query.ToList(), totalCount); } catch (Exception ex) { } return(null, 0); }