/*public ActionResult IndexPartial() * { * var viewModel = GridViewExtension.GetViewModel("gridKpiTargetIndex"); * if (viewModel == null) * viewModel = CreateGridViewModel(); * return BindingCore(viewModel); * } * * PartialViewResult BindingCore(GridViewModel gridViewModel) * { * gridViewModel.ProcessCustomBinding( * GetDataRowCount, * GetData * ); * return PartialView("_GridViewPartial", gridViewModel); * } * * static GridViewModel CreateGridViewModel() * { * var viewModel = new GridViewModel() { KeyFieldName = "Id" }; * viewModel.Columns.Add("KpiName"); * viewModel.Columns.Add("PeriodeType"); * viewModel.Columns.Add("Value"); * viewModel.Columns.Add("IsActive"); * viewModel.Pager.PageSize = 10; * return viewModel; * } * * public ActionResult PagingAction(GridViewPagerState pager) * { * var viewModel = GridViewExtension.GetViewModel("gridKpiTargetIndex"); * viewModel.ApplyPagingState(pager); * return BindingCore(viewModel); * } * * public void GetDataRowCount(GridViewCustomBindingGetDataRowCountArgs e) * { * * e.DataRowCount = _kpiTargetService.GetKpiTargets(new GetKpiTargetsRequest { Take = 0, Skip = 0 }).KpiTargets.Count; * } * * public void GetData(GridViewCustomBindingGetDataArgs e) * { * e.Data = _kpiTargetService.GetKpiTargets(new GetKpiTargetsRequest * { * Skip = e.StartDataRowIndex, * Take = e.DataRowCount * }).KpiTargets; * }*/ public ActionResult Create() { var viewModel = new CreateKpiTargetViewModel(); viewModel = SetViewModel(viewModel); return(View(viewModel)); }
public CreateKpiTargetViewModel SetViewModel(CreateKpiTargetViewModel viewModel) { var pmsConfigs = _kpiTargetService.GetPmsConfigs(new GetPmsConfigsRequest { Id = 1 }).PmsConfigs; if (pmsConfigs.Count > 0) { foreach (var pmsConfig in pmsConfigs) { var pillarSelectListItem = new List <SelectListItem>(); pillarSelectListItem.Add(new SelectListItem { Text = pmsConfig.Pillar.Name, Value = pmsConfig.Pillar.Id.ToString() }); var pmsConfigDetails = pmsConfig.PmsConfigDetailsList; if (pmsConfigDetails.Count > 0) { var kpiTargetList = new List <KpiTarget>(); foreach (var pmsConfigDetail in pmsConfigDetails) { var kpiSelectListItem = new List <SelectListItem>(); kpiSelectListItem.Add(new SelectListItem { Text = pmsConfigDetail.Kpi.Name, Value = pmsConfigDetail.Kpi.Id.ToString() }); var kpi = pmsConfigDetail.Kpi.MapTo <Kpi>(); kpiTargetList.Add(new KpiTarget { Kpi = kpi, KpiList = kpiSelectListItem, Periode = new DateTime(pmsConfig.PmsSummary.Year, 1, 1), KpiId = pmsConfigDetail.Kpi.Id //IsActive = pmsConfig.IsActive }); } viewModel.PillarKpiTarget.Add(new PillarTarget { PillarList = pillarSelectListItem, KpiTargetList = kpiTargetList }); } } } return(viewModel); }
public ActionResult Create(CreateKpiTargetViewModel viewModel) { if (viewModel.PillarKpiTarget.Count > 0) { var request = new CreateKpiTargetsRequest(); request.KpiTargets = new List <CreateKpiTargetsRequest.KpiTarget>(); foreach (var item in viewModel.PillarKpiTarget) { if (item.KpiTargetList.Count > 0) { foreach (var kpi in item.KpiTargetList) { request.KpiTargets.Add(new CreateKpiTargetsRequest.KpiTarget { IsActive = true, KpiId = kpi.KpiId, Periode = kpi.Periode, PeriodeType = (DSLNG.PEAR.Data.Enums.PeriodeType)kpi.PeriodeType, Remark = kpi.Remark, Value = kpi.Value }); } } } var response = _kpiTargetService.Creates(request); TempData["IsSuccess"] = response.IsSuccess; TempData["Message"] = response.Message; if (response.IsSuccess) { return(RedirectToAction("Index")); } } viewModel = SetViewModel(viewModel); return(View(viewModel)); }