public async Task <IActionResult> Register(UserRegistationModel userModel) { if (!ModelState.IsValid) { return(View(userModel)); } var user = _mapper.Map <User>(userModel); var result = await _userManager.CreateAsync(user, userModel.Password); if (!result.Succeeded) { foreach (var error in result.Errors) { ModelState.TryAddModelError(error.Code, error.Description); } return(View(userModel)); } await _userManager.AddToRoleAsync(user, "Visitor"); return(RedirectToAction(nameof(HomeController.Index), "Home")); }
public async Task <IActionResult> Register(UserRegistationModel userRegistationModel) { if (ModelState.IsValid) { var existingUser = await _userManager.FindByEmailAsync(userRegistationModel.EmailAddress); if (existingUser is null) { IdentityUser identityUser = new() { Email = userRegistationModel.EmailAddress, EmailConfirmed = true, UserName = userRegistationModel.EmailAddress }; IdentityResult result = await _userManager.CreateAsync(identityUser, userRegistationModel.Password); if (result.Succeeded) { existingUser = await _userManager.FindByEmailAsync(userRegistationModel.EmailAddress); UserModel u = new() { Id = existingUser.Id, FirstName = userRegistationModel.FirstName, LastName = userRegistationModel.LastName, EmailAddress = userRegistationModel.EmailAddress }; _userData.CreateUser(u); return(Ok()); } } } return(BadRequest()); } } }