public async Task <IActionResult> Register([FromBody] AuthRegisterForm registerForm) { var checkEmail = await _userService.CheckIfUserWithEmailExist(registerForm.Email); if (checkEmail) { throw new HttpStatusCodeException(HttpStatusCode.Conflict, "User with that email exist"); } var registedUserInfo = await _authService.RegisterNewUser(registerForm); if (registedUserInfo == null) { return(StatusCode(500)); } var accessToken = await _authService.GetAccessToken(registerForm.Email, registerForm.Password); var refreshToken = await _authService.GetRefreshToken(registerForm.Email, registerForm.Password); return(refreshToken != null && accessToken != null ? (IActionResult)StatusCode(201, new TokenResponse() { AccessToken = accessToken, RefreshToken = refreshToken }) : StatusCode(500)); }
public async Task <UserConfirmedRegistation> RegisterNewUser(AuthRegisterForm authRegisterForm) { var UserRegisterForm = Guard.Argument(authRegisterForm, nameof(authRegisterForm)).NotNull().Value; var user = new User() { Email = UserRegisterForm.Email, Password = PasswordHasher(UserRegisterForm.Password), Role = "Client" }; _context.Users.Add(user); var client = new Client() { UserId = user.UserId, Address = UserRegisterForm.Address, City = UserRegisterForm.City, Name = UserRegisterForm.Name, PostCode = int.Parse(UserRegisterForm.PostCode), State = UserRegisterForm.State, NIP = UserRegisterForm.NIP == "" && UserRegisterForm.NIP == null ? null : UserRegisterForm.NIP }; _context.Clients.Add(client); if (await _context.SaveChangesAsync() != 0) { return(new UserConfirmedRegistation() { Login = user.Email }); } throw new HttpStatusCodeException(HttpStatusCode.InternalServerError, _localizer["User couldn't be registered"]); }