public async Task <RegisterUserResponse> Register(SaveUserRegisterResource saveRegisterUserResource) { try { saveRegisterUserResource.Email = saveRegisterUserResource.Email.ToLower(); if (await _authRepository.UserExists(saveRegisterUserResource.Email)) { return(new RegisterUserResponse("Email adress is already taken")); } var userToCreate = new User { Id = Guid.NewGuid(), Email = saveRegisterUserResource.Email }; _authRepository.Register(userToCreate, saveRegisterUserResource.Password); await _unitOfWork.Commit(); return(new RegisterUserResponse()); } catch (Exception ex) { return(new RegisterUserResponse($"An error occurred when saving the product: {ex.Message}")); } }
public async Task <IActionResult> Register([FromBody] SaveUserRegisterResource saveRegisterUserResource) { var registerResult = await _authService.Register(saveRegisterUserResource); if (!registerResult.Success) { return(BadRequest(new ErrorResource(registerResult.Message))); } var loginUserResource = _mapper.Map <SaveUserRegisterResource, LoginUserResource>(saveRegisterUserResource); var loginResult = await _authService.Login(loginUserResource); if (!loginResult.Success) { return(BadRequest(new ErrorResource(loginResult.Message))); } Response.Headers.Add(Authorization, loginResult.Token); return(Ok()); }