Exemplo n.º 1
0
        public long CreateUser(CreateUserModel model)
        {
            // Validate supplied user credentials
            _authenticationValidator.ValidateCreateUser(model);

            // Remove extraneous white space
            string modelEmail = model.Email.Trim().ToLower();
            string modelAlias = model.Alias.Trim();

            // Get confirm verification token
            TimeSpan expiryTimeSpan = _authenticationConfigurationService.GetCreateUserExpiryTimeSpan(model.TenantId);
            Token    confirmToken   = _securityService.CreateToken(expiryTimeSpan);

            // Create user in respository
            List <string> roles = new List <string> {
                Roles.User
            };
            long userId = _userRepository.CreateUser(model.TenantId, modelEmail, modelAlias, roles, confirmToken);

            // Get details of email that will be sent to newly created user
            Email email = _authenticationConfigurationService.GetCreateUserEmail(Web, Domain, modelEmail, modelAlias, confirmToken);

            // Send email to newly created user
            _emailService.SendEmail(email);

            // Return newly allocated user identifier
            return(userId);
        }