public async Task <IActionResult> Create(UserViewModelCreate viewModel) { if (ModelState.IsValid) { MyUser user = _mapper.CreateUser(viewModel, _userManager, _roleManager).Result; var result = await _userManager.CreateAsync(user, viewModel.Password); if (result.Succeeded) { //_context.SaveChanges(); await _userManager.SetEmailAsync(user, viewModel.Email); var token = await _userManager.GenerateEmailConfirmationTokenAsync(user); await _userManager.ConfirmEmailAsync(user, token); //remove roles and add only the ones from viewmodel await _userManager.AddToRolesAsync(user, viewModel.Roles); //_context.Add(user); //await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } } return(View(viewModel)); }
public async Task <IActionResult> Create() { UserViewModelCreate viewModel = new UserViewModelCreate(); var roles = await _roleManager.Roles.ToListAsync(); ViewData["Roles"] = new SelectList(roles, "Name", "Name"); var departments = await _context.Departments.ToListAsync(); ViewData["Departments"] = new SelectList(departments, "Id", "Name"); var managers = await _userManager.GetUsersInRoleAsync("Manager"); ViewData["Managers"] = new SelectList(managers, "Id", "UserName"); return(View(viewModel)); }
public async Task <MyUser> CreateUser( UserViewModelCreate viewModel, UserManager <MyUser> userManager, RoleManager <IdentityRole> roleManager) { MyUser user = new MyUser() { UserName = viewModel.Email, FirstName = viewModel.FirstName, LastName = viewModel.LastName, CostPerHour = viewModel.CostPerHour, DepartmentId = viewModel.DepartmentId, ManagerId = viewModel.ManagerId, }; return(user); }