public ActionResult Create(IterationVM iterationVM) { var iteration = Mapper.Map<IterationVM, Iteration>(iterationVM); db.Iterations.Add(iteration); db.SaveChanges(); return RedirectToAction("Index", "TestPlanPerIteration"); }
public ActionResult Create(int id = 0) { if (db.Projects.Find(id) == null) return HttpNotFound(); var iterationVM = new IterationVM { StartDate = DateTime.Now, DueDate = DateTime.Now, ProjectID = id }; return View("Create", iterationVM); }
// GET: /TestPlanPerIteration/ public ActionResult Index(int id = 0) { UserSettings userSettings = SessionWrapper.UserSettings; var iterationVM = new IterationVM { ProjectID = userSettings.workingProject, Project = db.Projects.Find(userSettings.workingProject) }; // No Iteration selected by the user if (id == 0) { var iterationForProject = (from i in db.Iterations where i.ProjectID == userSettings.workingProject orderby i.DueDate descending select i); // If there are Iterations created for the project, the first from the list ordered by dueDate is selected as default if (iterationForProject.Count() > 0) { Iteration iteration = iterationForProject.First(); iterationVM = Mapper.Map<Iteration, IterationVM>(iteration); } } // An iteration was selected by the user if (id > 0) { var iterationForProject = from i in db.Iterations where i.IterationID == id && i.ProjectID == userSettings.workingProject orderby i.DueDate descending select i; if (iterationForProject.Count() > 0) { Iteration iteration = iterationForProject.First(); iterationVM = Mapper.Map<Iteration, IterationVM>(iteration); } // When user is at /TestPlanPerIteration/Index/{id} and there is no such IterationID for the new selected project, redirects to /TestPlanPerIteration else { return RedirectToAction("Index", new { id = (int?)null }); } } return View(iterationVM); }
public ActionResult Edit(IterationVM iterationVM) { var iteration = db.Iterations.Find(iterationVM.IterationID); if (iteration == null) return HttpNotFound(); db.Entry(iteration).CurrentValues.SetValues(iterationVM); db.SaveChanges(); return RedirectToAction("Index", "TestPlanPerIteration", new { id = iteration.IterationID }); }