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));
        }
예제 #3
0
        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);
        }