private User HashPasswordAndCreateUser(UserSignUpRequest request) { request.Password.Hash( hashingService: hashingService, securePseudoRandomGenerator: securePseudoRandomGenerator); return(User.Create(email: request.Email, password: request.Password)); }
public CreationResult <User, SignUpError> Execute(UserSignUpRequest request) { if (userRepository.Exist(email: request.Email)) { return(CreationResult <User, SignUpError> .CreateInvalidResult(SignUpError.UserAlreadyExist)); } var user = HashPasswordAndCreateUser(request); userRepository.Create(user); return(CreationResult <User, SignUpError> .CreateValidResult(user)); }
public static RequestValidationResult <UserSignUpRequest, Error> Create( string email, string password) { CreationResult <Email, Error> emailCreationResult = Email.CreateAndValidate(value: email); CreationResult <Password, Error> passwordCreationResult = Password.CreateAndValidate(value: password); var errors = BuilValidationErrorsFrom <Email, Error>(creationResult: emailCreationResult, fieldId: nameof(Email)) .Concat(BuilValidationErrorsFrom <Password, Error>(creationResult: passwordCreationResult, fieldId: nameof(Password))) .ToList(); if (errors.Any()) { return(RequestValidationResult <UserSignUpRequest, Error> .CreateInvalidResult( errors : errors.AsReadOnly() )); } UserSignUpRequest request = new UserSignUpRequest( email: emailCreationResult.Result, password: passwordCreationResult.Result); return(RequestValidationResult <UserSignUpRequest, Error> .CreateValidResult(result : request)); }