public ActionResult Edit(UseCase useCase, List <int> actors, List <int> requirements) { var old = db.UseCases.Find(useCase.ID); old.Name = useCase.Name; old.Description = useCase.Description; if (actors != null) { for (int i = 0; i < actors.Count; i++) { UseCaseActor useCaseActor = new UseCaseActor(); useCaseActor.ID_Actor = actors[i]; useCaseActor.ID_UseCase = old.ID; db.UseCaseActors.Add(useCaseActor); } } if (requirements != null) { for (int i = 0; i < requirements.Count; i++) { UseCaseRequirement useCaseRequirement = new UseCaseRequirement(); useCaseRequirement.ID_Requirement = requirements[i]; useCaseRequirement.ID_UseCase = old.ID; db.UseCaseRequirements.Add(useCaseRequirement); } } try { db.Entry(old).State = EntityState.Modified; db.SaveChanges(); NotificationSystem.SendNotification(EnumNotification.EDIT_USECASE, "/UseCase"); return(RedirectToAction("Index")); } catch (Exception ex) { Console.WriteLine(ex.Message); } List <int> actorsList = new List <int>(); foreach (UseCaseActor useCaseActor in useCase.UseCaseActors) { actorsList.Add(useCaseActor.ID); } ViewBag.actors = new MultiSelectList(GetActors(old), "ID", "Name"); ViewBag.requirements = new MultiSelectList(GetRequirements(old), "ID", "Text"); return(View(useCase)); }
public ActionResult AddRequirements() { List <int> requirements = (List <int>)Session["requirements"]; int useCaseID = db.UseCases.OrderByDescending(i => i.ID).First().ID; foreach (int i in requirements) { UseCaseRequirement caseRequirement = new UseCaseRequirement(); caseRequirement.ID_Requirement = i; caseRequirement.ID_UseCase = useCaseID; db.UseCaseRequirements.Add(caseRequirement); } db.SaveChanges(); return(RedirectToAction("Index")); }