// GET: Projects/Edit/5 public ActionResult Edit(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } Projects project = db.Projects.Find(id); if (project == null) { return HttpNotFound(); } var usersOnProject = project.ProjectMembers.Select(u=>u.Id); ProjectAndUsersModels p = new ProjectAndUsersModels(); p.Project = project; if (User.IsInRole("Admin")) { p.Users = new MultiSelectList(db.Users, "Id", "DisplayName", usersOnProject); } else { var onlyDevs = "Developer".UsersInRole(); p.Users = new MultiSelectList(onlyDevs, "Id", "DisplayName", usersOnProject); } return View(p); }
public ActionResult Edit(ProjectAndUsersModels projectAndUsers) { if (ModelState.IsValid) { var project = db.Projects.Find(projectAndUsers.Project.ID); project.ProjectMembers.Clear(); project.ProjectMembers = db.Users.Where(u => projectAndUsers.SelectedUsers.Contains(u.Id)).ToList(); db.SaveChanges(); return RedirectToAction("Details", "Projects", new { id = projectAndUsers.Project.ID }); } return View(projectAndUsers); }