public ActionResult RiskNew(RiskEditViewModel vm) { UserData data = Utils.LoadUserDataFromSession(); bool saved = true; if (ModelState.IsValid) { if (vm.Risk.CauseGroupId != null && vm.Risk.CauseId == null) { ModelState.AddModelError("", "Sebab Risiko harus diisi lengkap atau kosong sama sekali"); saved = false; } if (vm.Risk.EffectGroupId != null && vm.Risk.EffectId == null) { ModelState.AddModelError("", "Akibat Risiko harus diisi lengkap atau kosong sama sekali"); saved = false; } if (vm.Risk.RiskCatId != null && vm.Risk.RiskTypeId == null) { ModelState.AddModelError("", "Klasifikasi Risiko harus diisi lengkap atau kosong sama sekali"); saved = false; } if (saved) { try { using (TransactionScope trans = new TransactionScope()) { Risk risk = new Risk(); risk.UserId = data.UserId; risk.JobTitle = data.JobTitle; risk.RiskCode = Utils.GetFormattedSerialNumber(data); risk.RiskName = vm.Risk.RiskName; risk.RiskDate = vm.Risk.RiskDate; risk.OrgPos = data.OrgPos; risk.DeptId = data.DeptId; risk.SubDeptId = data.SubDeptId; risk.DivisionId = data.DivisionId; risk.SubDivId = data.SubDivId; risk.BranchId = data.BranchId; risk.SubBranchId = data.SubBranchId; risk.BizUnitId = data.BizUnitId; if (vm.Risk.CauseId != null) { risk.CauseGroupId = vm.Risk.CauseGroupId; risk.CauseTypeId = vm.Risk.CauseTypeId; risk.CauseId = vm.Risk.CauseId; } if (vm.Risk.EffectId != null) { risk.EffectGroupId = vm.Risk.EffectGroupId; risk.EffectTypeId = vm.Risk.EffectTypeId; risk.EffectId = vm.Risk.EffectId; } if (vm.Risk.RiskTypeId != null) { risk.RiskCatId = vm.Risk.RiskCatId; risk.RiskGroupId = vm.Risk.RiskGroupId; risk.RiskTypeId = vm.Risk.RiskTypeId; } risk.ProbLevelId = Utils.PROBLEVEL1; risk.ImpactLevelId = Utils.IMPACTLEVEL1; risk.RiskLevel = risk.ProbLevelId * risk.ImpactLevelId; risk.IsReadOnly = false; db.Risks.AddObject(risk); db.SaveChanges(); RiskProb prob = new RiskProb(); prob.RiskId = risk.RiskId; prob.ProbOption = Utils.PROBOPTION_FREQUENCY; prob.FreqId = Utils.FREQUENCY1; prob.ProbLevelId = Utils.PROBLEVEL1; db.RiskProbs.AddObject(prob); db.SaveChanges(); RiskImpact impact = new RiskImpact(); impact.RiskId = risk.RiskId; impact.IsMoneyImpact = true; impact.ImpactLevelId = Utils.IMPACTLEVEL1; db.RiskImpacts.AddObject(impact); db.SaveChanges(); Utils.CreateFirstApprovalSchedule(risk.RiskId); Utils.IncrementSerialNumber(db); trans.Complete(); return RedirectToAction("RiskDetail", new { id = risk.RiskId }); } } catch (Exception e) { ModelState.AddModelError("", "Tidak bisa menyimpan data risiko. Error: " + e.Message); } } } vm.Risk.RiskCode = Utils.GetFormattedSerialNumber(data); vm.CauseGroups = new SelectList(db.CauseGroups, "CauseGroupId", "CauseGroupName"); vm.CauseTypes = new SelectList(db.CauseTypes.Where(p => p.CauseGroupId == vm.Risk.CauseGroupId), "CauseTypeId", "CauseTypeName"); vm.Causes = new SelectList(db.Causes.Where(p => p.CauseTypeId == vm.Risk.CauseTypeId), "CauseId", "CauseName"); vm.EffectGroups = new SelectList(db.EffectGroups, "EffectGroupId", "EffectGroupName"); vm.EffectTypes = new SelectList(db.EffectTypes.Where(p => p.EffectGroupId == vm.Risk.EffectGroupId), "EffectTypeId", "EffectTypeName"); vm.Effects = new SelectList(db.Effects.Where(p => p.EffectTypeId == vm.Risk.EffectTypeId), "EffectId", "EffectName"); vm.RiskCats = new SelectList(db.RiskCats, "RiskCatId", "RiskCatName"); vm.RiskGroups = new SelectList(db.RiskGroups.Where(p => p.RiskCatId == vm.Risk.RiskCatId), "RiskGroupId", "RiskGroupName"); vm.RiskTypes = new SelectList(db.RiskTypes.Where(p => p.RiskGroupId == vm.Risk.RiskGroupId), "RiskTypeId", "RiskTypeName"); return View(vm); }
public ActionResult RiskEdit(RiskEditViewModel vm, int id) { bool saved = true; if (ModelState.IsValid) { if (vm.Risk.CauseGroupId != null && vm.Risk.CauseId == null) { ModelState.AddModelError("", "Sebab Risiko harus diisi lengkap atau kosong sama sekali"); saved = false; } if (vm.Risk.EffectGroupId != null && vm.Risk.EffectId == null) { ModelState.AddModelError("", "Akibat Risiko harus diisi lengkap atau kosong sama sekali"); saved = false; } if (vm.Risk.RiskCatId != null && vm.Risk.RiskTypeId == null) { ModelState.AddModelError("", "Klasifikasi Risiko harus diisi lengkap atau kosong sama sekali"); saved = false; } if (saved) { db.Risks.Attach(vm.Risk); db.ObjectStateManager.ChangeObjectState(vm.Risk, EntityState.Modified); db.SaveChanges(); return RedirectToAction("RiskDetail", new { id = id }); } } vm.CauseGroups = new SelectList(db.CauseGroups, "CauseGroupId", "CauseGroupName", vm.Risk.CauseGroupId); vm.CauseTypes = new SelectList(db.CauseTypes.Where(p => p.CauseGroupId == vm.Risk.CauseGroupId), "CauseTypeId", "CauseTypeName", vm.Risk.CauseTypeId); vm.Causes = new SelectList(db.Causes.Where(p => p.CauseTypeId == vm.Risk.CauseTypeId), "CauseId", "CauseName", vm.Risk.CauseId); vm.EffectGroups = new SelectList(db.EffectGroups, "EffectGroupId", "EffectGroupName", vm.Risk.EffectGroupId); vm.EffectTypes = new SelectList(db.EffectTypes.Where(p => p.EffectGroupId == vm.Risk.EffectGroupId), "EffectTypeId", "EffectTypeName", vm.Risk.EffectTypeId); vm.Effects = new SelectList(db.Effects.Where(p => p.EffectTypeId == vm.Risk.EffectTypeId), "EffectId", "EffectName", vm.Risk.EffectId); vm.RiskCats = new SelectList(db.RiskCats, "RiskCatId", "RiskCatName", vm.Risk.RiskCatId); vm.RiskGroups = new SelectList(db.RiskGroups.Where(p => p.RiskCatId == vm.Risk.RiskCatId), "RiskGroupId", "RiskGroupName", vm.Risk.RiskGroupId); vm.RiskTypes = new SelectList(db.RiskTypes.Where(p => p.RiskGroupId == vm.Risk.RiskGroupId), "RiskTypeId", "RiskTypeName", vm.Risk.RiskTypeId); return View(vm); }
public ActionResult RiskNew() { UserData data = Utils.LoadUserDataFromSession(); if (data.IsAdmin || !data.IsRiskOwner) { //ViewBag.Message = "Hanya Risk Owner yang bisa meng-input data peristiwa risiko"; return View("NewRiskError"); } Random rand = new Random(); RiskEditViewModel vm = new RiskEditViewModel(); vm.Risk = new Risk(); vm.Risk.RiskCode = Utils.GetFormattedSerialNumber(data); vm.Risk.RiskDate = DateTime.Now; vm.CauseGroups = new SelectList(db.CauseGroups, "CauseGroupId", "CauseGroupName"); vm.CauseTypes = new SelectList(Enumerable.Empty<SelectListItem>(), "CauseTypeId", "CauseTypeName"); vm.Causes = new SelectList(Enumerable.Empty<SelectListItem>(), "CauseId", "CauseName"); vm.EffectGroups = new SelectList(db.EffectGroups, "EffectGroupId", "EffectGroupName"); vm.EffectTypes = new SelectList(Enumerable.Empty<SelectListItem>(), "EffectTypeId", "EffectTypeName"); vm.Effects = new SelectList(Enumerable.Empty<SelectListItem>(), "EffectId", "EffectName"); vm.RiskCats = new SelectList(db.RiskCats, "RiskCatId", "RiskCatName"); vm.RiskGroups = new SelectList(Enumerable.Empty<SelectListItem>(), "RiskGroupId", "RiskGroupName"); vm.RiskTypes = new SelectList(Enumerable.Empty<SelectListItem>(), "RiskTypeId", "RiskTypeName"); return View(vm); }
public ActionResult RiskEdit(int id) { RiskEditViewModel vm = new RiskEditViewModel(); vm.Risk = db.Risks.Where(p => p.RiskId == id).FirstOrDefault(); vm.CauseGroups = new SelectList(db.CauseGroups, "CauseGroupId", "CauseGroupName", vm.Risk.CauseGroupId); vm.CauseTypes = new SelectList(db.CauseTypes.Where(p => p.CauseGroupId == vm.Risk.CauseGroupId), "CauseTypeId", "CauseTypeName", vm.Risk.CauseTypeId); vm.Causes = new SelectList(db.Causes.Where(p => p.CauseTypeId == vm.Risk.CauseTypeId), "CauseId", "CauseName", vm.Risk.CauseId); vm.EffectGroups = new SelectList(db.EffectGroups, "EffectGroupId", "EffectGroupName", vm.Risk.EffectGroupId); vm.EffectTypes = new SelectList(db.EffectTypes.Where(p => p.EffectGroupId == vm.Risk.EffectGroupId), "EffectTypeId", "EffectTypeName", vm.Risk.EffectTypeId); vm.Effects = new SelectList(db.Effects.Where(p => p.EffectTypeId == vm.Risk.EffectTypeId), "EffectId", "EffectName", vm.Risk.EffectId); vm.RiskCats = new SelectList(db.RiskCats, "RiskCatId", "RiskCatName", vm.Risk.RiskCatId); vm.RiskGroups = new SelectList(db.RiskGroups.Where(p => p.RiskCatId == vm.Risk.RiskCatId), "RiskGroupId", "RiskGroupName", vm.Risk.RiskGroupId); vm.RiskTypes = new SelectList(db.RiskTypes.Where(p => p.RiskGroupId == vm.Risk.RiskGroupId), "RiskTypeId", "RiskTypeName", vm.Risk.RiskTypeId); return View(vm); }