예제 #1
0
        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));
        }
예제 #2
0
        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 }));
        }