コード例 #1
0
        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}"));
            }
        }
コード例 #2
0
        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());
        }