public AddUserResult AddUser(HumanName name, AddUserSettings settings, string email, bool useEmailAsUserName, int portalId) { var userName = NameFormatter.FormatUserName(settings.UserNameFormat, name, email, useEmailAsUserName); var user = new UserInfo { FirstName = name.FirstName, LastName = name.LastName, DisplayName = NameFormatter.FormatDisplayName(GetDisplayNameFormat(settings, PortalSettings.Current), name, userName), Email = email, Username = userName, PortalID = portalId }; var password = GeneratePassword(settings.DesiredPasswordLength, MembershipProviderConfig.MinNonAlphanumericCharacters, settings.AllowedSpecialChars); user.Membership.Password = password; UserCreateStatus userCreateStatus = UserController.CreateUser(ref user); if (userCreateStatus == UserCreateStatus.Success) { UpdateUserProfile(user, name, portalId); try { AssignUserToRoles(user, settings.RoleIds, portalId); } catch (Exception ex) { userCreateStatus = UserCreateStatus.UnexpectedError; Exceptions.LogException(new SecurityException("Cannot assign user to roles", ex)); } } return(new AddUserResult { UserCreateStatus = userCreateStatus, User = user, Password = password }); }
string GetDisplayNameFormat(AddUserSettings settings, PortalSettings portalSettings) { return(!string.IsNullOrEmpty(settings.DisplayNameFormat) ? settings.DisplayNameFormat : portalSettings.Registration.DisplayNameFormat); }