Example #1
0
        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);
            }
        }
Example #2
0
        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);
 }
Example #4
0
        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);
        }
Example #5
0
        // 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));
        }