public CreateKpiTargetsResponse Creates(CreateKpiTargetsRequest request) { var response = new CreateKpiTargetsResponse(); try { if (request.KpiTargets.Count > 0) { foreach (var kpiTarget in request.KpiTargets) { var data = kpiTarget.MapTo <KpiTarget>(); data.Kpi = DataContext.Kpis.FirstOrDefault(x => x.Id == kpiTarget.KpiId); DataContext.KpiTargets.Add(data); DataContext.SaveChanges(); } response.IsSuccess = true; response.Message = "KPI Target has been added successfully"; } } catch (DbUpdateException dbUpdateException) { response.Message = dbUpdateException.Message; } return(response); }
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)); }