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