public async Task <UserRegisterAnswerDto> Register(UserRegisterQueryDto userRegisterDto) { if ((await _repository.GetUserByEmail(userRegisterDto.Email)) != null) { throw new FormInvalidException("", $"Email \'{userRegisterDto.Email}\' is already taken"); } var user = _mapper.Map <User>(userRegisterDto); var result = await RegisterNewUser(user, userRegisterDto.Password); if (!result.Succeeded) { throw new FormInvalidException("", result.Errors.Select(e => e.Description).Aggregate((d, res) => res += d + "\n")); } return(new UserRegisterAnswerDto { User = user }); }
public async Task <IActionResult> Register([FromBody] UserRegisterQueryDto userRegisterDto) { var result = await _authenticationService.Register(userRegisterDto); return(Created($"api/users/{result.User.Id}", result)); }