public ActionResult AssignUsers(AssignUsersModel model) { model.AllUsers = new MultiSelectList(UserService.All(), "SID", "DisplayName"); if (!ModelState.IsValid) { return(View(model)); } if (model.AssignedUsers == null) { model.AssignedUsers = new string[0]; Project foundProject = ProjectService.Get(model.ProjectId); foreach (User user in foundProject.AssignedUsers.ToList()) { ProjectService.RemoveUser(foundProject.Id, user.SID); } return(RedirectToAction("View", "Project", new { @id = model.ProjectId })); } var usersToRemove = model.AllUsers.Select(x => x.Value).Intersect(model.AssignedUsers); foreach (string userId in model.AssignedUsers) { ProjectService.AssignUser(model.ProjectId, userId); } return(RedirectToAction("View", "Project", new { @id = model.ProjectId })); }
public ActionResult AssignUsers(Guid id) { if (id == Guid.Empty) { return(RedirectToAction("Index", "Project")); } Project foundProject = ProjectService.Get(id); if (foundProject == null) { return(RedirectToAction("Index", "Project")); } AssignUsersModel viewModel = new AssignUsersModel(); viewModel.ProjectId = foundProject.Id; viewModel.AllUsers = new MultiSelectList(UserService.All(), "SID", "DisplayName"); viewModel.AssignedUsers = foundProject.AssignedUsers.Select(x => x.SID).ToArray(); return(View(viewModel)); }