public async Task <IActionResult> AddUser(int id) { //Filter users not assigned to project. var viewModel = new ProjectAddUserViewModel(); var project = await _context.Projects.Include(e => e.ProjectUser).Where(e => e.Id == id).FirstOrDefaultAsync(); var userIdsOnProject = project.ProjectUser.Select(e => e.UserId).ToList(); viewModel.Users = await _userManager.Users.ToListAsync(); viewModel.Users = viewModel.Users.Where(e => !userIdsOnProject.Contains(e.Id)).ToList(); return(View(viewModel)); }
public async Task <IActionResult> AddUser(int id, [Bind("UserId,ProjectId")] ProjectAddUserViewModel viewModel) { var project = await _context.Projects.Include(e => e.ProjectUser).Where(e => e.Id == id).FirstOrDefaultAsync(); if (project == null) { return(NotFound()); } var user = await _userManager.FindByIdAsync(viewModel.UserId); if (user == null) { return(NotFound()); } project.ProjectUser.Add(new ProjectUser { User = user, Project = project }); await _context.SaveChangesAsync(); return(RedirectToAction("Details", new { id = id })); }