public async Task <IActionResult> Register(RegisterViewModel registerViewModel) { if (ModelState.IsValid) { UserDTO userFromDB = await _usersService.GetUserByEmailAsync(registerViewModel.Email); if (userFromDB == null) { string passwordHash, passwordSalt; PasswordManager.CreatePasswordHash(registerViewModel.Password, out passwordHash, out passwordSalt); UserDTO newUserDTO = new UserDTO() { Id = Guid.NewGuid(), Name = registerViewModel.Name ?? registerViewModel.Email, Email = registerViewModel.Email, PasswordHash = passwordHash, PasswordSalt = passwordSalt }; CreatedUserRole newUserParams = await _usersService.CreateUserRoleAsync(newUserDTO, DefaultRolesList.User.ToString()); //, RolesList.Admin.ToString()"Admin", await AuthenticateAsync(newUserParams.Email, newUserParams.UserRolesID[0]); } else { ModelState.AddModelError("", "Такой пользователь существует"); //return Content("Такой пользователь существует"); return(View()); } return(Redirect(registerViewModel.ReturnURL ?? "/Home/Index")); } return(View()); }
public async Task <IActionResult> RegisterAsync([FromBody] RegisterModel registerModel) // { if (ModelState.IsValid) { UserDTO userFromDB = await _usersService.GetUserByEmailAsync(registerModel.Email); if (userFromDB == null) { try { string passwordHash, passwordSalt; PasswordManager.CreatePasswordHash(registerModel.Password, out passwordHash, out passwordSalt); UserDTO newUserDTO = new UserDTO() { Id = Guid.NewGuid(), Name = registerModel.Name ?? registerModel.Email, Email = registerModel.Email, PasswordHash = passwordHash, PasswordSalt = passwordSalt }; CreatedUserRole newUserParams = await _usersService.CreateUserRoleAsync(newUserDTO, DefaultRolesList.User.ToString()); //, RolesList.Admin.ToString()"Admin", return(Ok(newUserDTO)); } catch (Exception ex) { return(BadRequest(new { message = ex.Message })); } } return(BadRequest(new { message = "Такой пользователь существует" })); } return(BadRequest(new { message = "Username or password is incorrect" })); }