public void Handle(
            Email email,
            Password oldPassword,
            Password newPassword
            )
        {
            var existentUser = _userRepository.GetByEmail(email);

            if (null == existentUser)
            {
                throw new UserNotFoundException();
            }

            var oldHashedPassword = _hashPassword.Handle(oldPassword);

            if (!existentUser.IsSamePassword(oldHashedPassword))
            {
                throw new InvalidPasswordException();
            }

            var newHashedPassword = _hashPassword.Handle(newPassword);

            existentUser.AddDomainEvent(new PasswordWasUpdatedEvent(existentUser.UserUuid.Value));

            _userRepository.UpdatePassword(existentUser, newHashedPassword);
        }
示例#2
0
        public void Handle(
            Email email,
            Password password,
            Name name,
            Surname surname,
            PhoneNumber phoneNumber,
            PostalCode postalCode,
            CountryCode countryCode
            )
        {
            CheckEmail(email);
            var userUuid = generateUserUuid();
            var newUser  = User.Create(
                generateUserUuid(),
                email,
                _hashPassword.Handle(password),
                name,
                surname,
                phoneNumber,
                postalCode,
                countryCode
                );

            newUser.AddDomainEvent(new UserWasCreatedEvent(userUuid.Value));

            _userRepository.Create(newUser);
        }
示例#3
0
        public void Handle(
            Email email,
            Password password
            )
        {
            var existentUser = _userRepository.GetByEmail(email);

            if (null == existentUser)
            {
                throw new InvalidPasswordException();
            }

            var hashedPassword = _hashPassword.Handle(password);

            if (!existentUser.IsSamePassword(hashedPassword))
            {
                throw new InvalidPasswordException();
            }
        }