public virtual ActionResult Edit(ScenarioListForVotes collection) { var scenarioId = collection.ScenariosForVotes.Select(x => x.scenarioID).FirstOrDefault(); var scenario = scenarioRepository.GetByID((int)scenarioId); var projID = scenario.ProjectID; try { int i = 0; foreach (var s in collection.ScenariosForVotes) //for each scenario { //get utility record Scenario scenarioToUpdate = scenarioRepository.GetByID((int)s.scenarioID); //want to save valid entries even if ModelState is not valid //User may not want to fill out entire form at once. if (s.Votes != null && scenarioToUpdate.Votes != s.Votes) { //update description scenarioToUpdate.Votes = s.Votes; i++; } }//end foreach scenario scenarioRepository.Save(); ModelStateHelpers.ModelMessage = i + " Record(s) Saved Successfully"; //update complete status on steps var stepsRepository = new StepsRepository(); stepsRepository.UpdateSteps(projID); stepsRepository.Save(); if (ModelState.IsValid) { var slist = populateScenatioListVotes(projID); // return type ScenarioListForVotes return View(slist); // Message = "Saved Successfully"; } else { ModelState.AddModelError("ID", "Record not Added Sucessfully"); //var vmodel = ScenarioViewModel.TopThird(scenarioRepository); return View(collection); } }//end try catch { ModelState.AddModelError("ID", "Record not Added Sucessfully"); //var vmodel = ScenarioViewModel.TopThird(scenarioRepository); return View(collection); } }
public virtual ActionResult Edit(ScenarioList collection) { var scenarioId = collection.ScenariosForUtilUpdate.Select(x => x.scenarioID).FirstOrDefault(); var scenario = scenarioRepository.GetByID((int)scenarioId); var projID = scenario.ProjectID; try { int i = 0; foreach (var s in collection.ScenariosForUtilUpdate) //for each scenario { foreach (var u in s.utilities)//for each util in that scenario { //get utility record Utility utilityToUpdate = scenarioRepository.GetUtilityByID((int)u.ID); //want to save valid entries even if ModelState is not valid //User may not want to fill out entire form at once. if (u.Description != null && u.Description.Length < 250 && utilityToUpdate.Description != u.Description) { //update description utilityToUpdate.Description = u.Description; i++; } }//end foreach utility }//end foreach scenario scenarioRepository.Save(); ModelStateHelpers.ModelMessage = i + " Record(s) Saved Successfully"; //update complete status on steps var stepsRepository = new StepsRepository(); stepsRepository.UpdateSteps(projID); if (ModelState.IsValid) { var slist = populateScenatioList(projID); return View(slist); // Message = "Saved Successfully"; } else { ModelState.AddModelError("ID", "Record not Added Sucessfully"); var slist = populateScenatioList(projID); return View(slist); } }//end try catch { ModelState.AddModelError("ID", "Record not Added Sucessfully"); var slist = populateScenatioList(projID); return View(slist); } }
public virtual ActionResult UpdatePriority(int[] priority) { Scenario s; var result = new jr { success = "true" }; if (ModelState.IsValid) { try { for (int i = 0; i < priority.Length; i++) { s = scenarioRepository.GetByID(priority[i]); s.Priority = i + 1; scenarioRepository.Save(); } //update complete status on steps var stepsRepository = new StepsRepository(); stepsRepository.UpdateSteps(); stepsRepository.Save(); } catch {//For Error w/o defined message ModelState.AddModelError("ID", "Not Added Sucessfully"); result = new jr { success = "false" }; return Json(result); }//end catch }//else not valid else ModelState.AddModelError("ID", "Record not Added Sucessfully"); ModelState.Clear(); // this is the key, you could also just clear ModelState for the field var vmodel = ScenarioViewModel.CreateIndex(scenarioRepository); return View(vmodel); }
public virtual ActionResult UpdatePriority(int[] priority) { ModelState.Clear(); //priority keeps coming in null, even though posted if (priority == null) { HttpContext ctx = System.Web.HttpContext.Current; string[] valArr = ctx.Request.Params.GetValues(0); Array.Resize(ref priority, valArr.Length); for (int i = 0; i < valArr.Length; i++) { priority[i] = Convert.ToInt16(valArr[i]); }//end for }//end if Scenario s; s = scenarioRepository.GetByID(priority[1]); var result = new jr { success = "true" }; if (ModelState.IsValid) { try { for (int i = 0; i < priority.Length; i++) { s = scenarioRepository.GetByID(priority[i]); s.Priority = i + 1; scenarioRepository.Save(); } //update complete status on steps scenarioRepository.ClearVotesBottomTwoThirds(s.ProjectID); var stepsRepository = new StepsRepository(); stepsRepository.UpdateSteps(s.ProjectID); stepsRepository.Save(); } catch {//For Error w/o defined message ModelState.AddModelError("ID", "Not Added Sucessfully"); //var vmodelError = ScenarioViewModel.CreateIndex(scenarioRepository, s.ProjectID); //return View(vmodelError); result = new jr { success = "false" }; return Json(result); }//end catch }//else not valid else ModelState.AddModelError("ID", "Record not Added Sucessfully"); ModelState.Clear(); // this is the key, you could also just clear ModelState for the field var vmodel = ScenarioViewModel.CreateIndex(scenarioRepository, s.Project.ID); var scenarios = vmodel.Scenarios; return PartialView("ScenarioList", scenarios); //return View(vmodel); //return Action (Index); }
// GET: /Scenarios/ public virtual ActionResult Index(long projID) { //update complete status on steps var stepsRepository = new StepsRepository(); stepsRepository.UpdateSteps(projID); var vmodel = ScenarioViewModel.CreateIndex(scenarioRepository, projID); if (vmodel == null) { return View("NotFound"); } return View(vmodel); }
public virtual ActionResult Edit(int id, ArchitecturalStrategy strategy) { var sToUpdate = asRepository.GetByID(id); TransferValuesTo(sToUpdate, strategy); ModelState.AddModelErrors(sToUpdate.GetRuleViolations()); if (ModelState.IsValid) { try { //updates scenarios affected list asRepository.UpdateAffectedScenarios(sToUpdate.ID, sToUpdate.ScenariosIDs); asRepository.Save(); //update complete status of strategy asRepository.UpdateIsComplete(strategy); asRepository.Save(); //return View(new ArchitecturalStrategyViewModel(strategy)); //update complete status on steps var stepsRepository = new StepsRepository(); stepsRepository.UpdateSteps(strategy.ProjectID); ModelStateHelpers.ModelMessage = " Record(s) Saved Successfully. Next update Expected Utility in Part 2 below."; sToUpdate = asRepository.GetByID(id); //sToUpdate was not showing new affiliations return View(new ArchitecturalStrategyViewModel(sToUpdate)); // return Redirect(Url.RouteUrl(new { controller = "Scenario", action = "Index" }) + "#" + "tab-5"); } catch { //For Error w/o defined message ModelState.AddModelError("ID", "Record not Added Sucessfully"); //ModelState.AddModelErrors(scenario.GetRuleViolations()); return View(new ArchitecturalStrategyViewModel(sToUpdate)); } } //else not valid else ModelState.AddModelError("ID", "Record not Added Sucessfully"); return View(new ArchitecturalStrategyViewModel(strategy)); }
public virtual ActionResult EditUtilityDescriptions(int id, StrategyForExpectedResponse erStrategy) { ArchitecturalStrategy strategy = asRepository.GetByID(id); foreach (var s in erStrategy.ScenariosForStratUtil) { var expectedUtilToUpdate = asRepository.GetExpectedUtilityByID(s.expectedUtilID); ; TransferValuesTo(expectedUtilToUpdate, s); ModelState.AddModelErrors(s.GetRuleViolations()); } if (ModelState.IsValid) { try { //update complete status of strategy asRepository.UpdateIsComplete(strategy); asRepository.Save(); //return View(new ArchitecturalStrategyViewModel(strategy)); //update complete status on steps var stepsRepository = new StepsRepository(); stepsRepository.UpdateSteps(strategy.ProjectID); return Redirect(Url.RouteUrl(new { controller = "Scenario", action = "Index" }) + "#" + "tab-5"); } catch { //For Error w/o defined message ModelState.AddModelError("ID", "Record not Added Sucessfully"); //ModelState.AddModelErrors(scenario.GetRuleViolations()); return View(new ArchitecturalStrategyViewModel(strategy)); } } //else not valid // else ModelState.AddModelError("ID", "Record not Added Sucessfully"); return View(new ArchitecturalStrategyViewModel(strategy)); }