Beispiel #1
0
        public void RegisterUser(string email)
        {
            // check if email is valid
            if (_emailValidator.Validate(email) == false)
            {
                throw new ArgumentException("Invalid email address");
            }

            // check if email is not taken
            if (_usersDatabase.IsEmailTaken(email))
            {
                throw new InvalidOperationException("Email already taken");
            }

            // create new user
            var newUser = new User
            {
                Email = email,
                RegistrationToken = Guid.NewGuid().ToString(),
            };

            // insert user
            _usersDatabase.InsertUser(newUser);

            // generate activation link
            string registrationLink = _activationLinkGenerator.GenerateLink(newUser.RegistrationToken, newUser.Email);

            _emailService.RegistrationEmail(newUser.Email, registrationLink);
        }
Beispiel #2
0
 public void InsertUser(User user)
 {
 }