public async Task <CreateUserDTO> CreateUser(FormRegisterUserDTO userDTO) { try { User user = new User(); user.Email = userDTO.email; user.Password = passwordHelper.HashPassword(userDTO.password); user.Role = "user"; var result = await userRepository.Add(user); if (result != null) { return(new CreateUserDTO(result.Email, true)); } else { return(null); } } catch (Exception ex) { var a = ex; return(null); } }
/// <summary> /// Convert a user to /// </summary> /// <param name="passwordHelper">The password helper.</param> /// <returns>The user.</returns> public User ToUser(IPasswordHelper passwordHelper) { var password = string.IsNullOrWhiteSpace(this.Password) ? null : passwordHelper.HashPassword(this.Password); return(new User(this.Id, this.Name, this.Email, password, new HashSet <string>(this.Roles))); }
public async Task <IActionResult> Register([FromBody] RegisterRequest registerRequest) { var isEmailTaken = await _userRepository.IsEmailTakenAsync(registerRequest.Email); var isDisplayNameTaken = await _userRepository.IsDisplayNameTakenAsync(registerRequest.DisplayName); if (registerRequest.Confirm != registerRequest.Password) { return(BadRequest("Password confirmation must match the entered password.")); } if (isEmailTaken) { return(Conflict("Email is already in use.")); } if (isDisplayNameTaken) { return(Conflict("Display name is already in use.")); } var(hash, salt) = _passwordHelper.HashPassword(registerRequest.Password); var user = new User { Email = registerRequest.Email, DisplayName = registerRequest.DisplayName, Hash = hash, Salt = salt }; await _userRepository.InsertUserAsync(user); await _userRepository.Save(); return(Ok()); }