예제 #1
0
        private UserRegistration(
            string login,
            string password,
            string email,
            string firstName,
            string lastName,
            IUsersCounter usersCounter,
            string confirmLink)
        {
            this.CheckRule(new UserLoginMustBeUniqueRule(usersCounter, login));

            this.Id       = new UserRegistrationId(Guid.NewGuid());
            _login        = login;
            _password     = password;
            _email        = email;
            _firstName    = firstName;
            _lastName     = lastName;
            _name         = $"{firstName} {lastName}";
            _registerDate = DateTime.UtcNow;
            _status       = UserRegistrationStatus.WaitingForConfirmation;

            this.AddDomainEvent(new NewUserRegisteredDomainEvent(
                                    this.Id,
                                    _login,
                                    _email,
                                    _firstName,
                                    _lastName,
                                    _name,
                                    _registerDate,
                                    confirmLink));
        }
예제 #2
0
        internal User(
            string login,
            string password,
            string email,
            string firstName,
            string lastName,
            IUsersCounter usersCounter // TODO: Domain entities should not have any dependencies on them
            )
        {
            CheckRule(new UserLoginMustBeUniqueRule(usersCounter, login));

            Id           = new UserId(Guid.NewGuid());
            Login        = login;
            Password     = password;
            Email        = email;
            FirstName    = firstName;
            LastName     = lastName;
            Name         = $"{firstName} {lastName}";
            RegisterDate = DateTime.UtcNow;
            Status       = UserRegistrationStatus.WaitingForConfirmation;
            _roles       = new List <UserRole>
            {
                new UserRole(Role.Client)
            };
            IsActive = true;

            AddDomainEvent(new NewUserRegisteredDomainEvent(Id, Login, Password, Email, Name, FirstName, LastName, RegisterDate));
        }
 public RegisterNewUserCommandHandler(
     IUserRegistrationRepository userRegistrationRepository,
     IUsersCounter usersCounter)
 {
     _userRegistrationRepository = userRegistrationRepository;
     _usersCounter = usersCounter;
 }
예제 #4
0
 public static UserRegistration RegisterNewUser(
     string login,
     string password,
     string email,
     string firstName,
     string lastName,
     IUsersCounter usersCounter)
 {
     return(new UserRegistration(login, password, email, firstName, lastName, usersCounter));
 }
예제 #5
0
 internal UserLoginMustBeUniqueRule(IUsersCounter usersCounter, string login)
 {
     _usersCounter = usersCounter;
     _login        = login;
 }
예제 #6
0
 public RegisterNewUserCommandHandler(IUserRepository userRepository, IUsersCounter usersCounter, IPasswordManager passwordManager)
 {
     _userRepository  = userRepository;
     _usersCounter    = usersCounter;
     _passwordManager = passwordManager;
 }