MembershipCreateStatus status;
var pass = "Password"// Membership.GeneratePassword(32, 16);
var securityQuestion = "Security Question";
var securityAnswer = "Security Answer";
var userName = "UserName";
MembershipUser user = YafContext.Current.Get<MembershipProvider>().CreateUser(
userName, pass, email, securityQuestion, securityAnswer, true, null, out status);
// setup inital roles (if any) for this user
RoleMembershipHelper.SetupUserRoles(YafContext.Current.PageBoardID, userName);
// create the user in the YAF DB as well as sync roles...
int? userID = RoleMembershipHelper.CreateForumUser(user, YafContext.Current.PageBoardID);
// create empty profile just so they have one
YafUserProfile userProfile = YafUserProfile.GetProfile(userName);
// Set profile properties?!
userProfile.Homepage = "http://www.test.com";
// setup their inital profile information
userProfile.Save();
if (YafContext.Current.Get<YafBoardSettings>().NotificationOnUserRegisterEmailList.IsSet())
{
// send user register notification to the following admin users...
SendRegistrationNotificationEmail(user);
}
// save the time zone...
int userId = UserMembershipHelper.GetUserIDFromProviderUserKey(user.ProviderUserKey);
LegacyDb.user_save(
userId,
YafContext.Current.PageBoardID,
UserName,
null,
email,
0,
null,
null,
null,
true,
null,
null,
null,
null,
null,
null,
null,
null);
bool autoWatchTopicsEnabled = YafContext.Current.Get<YafBoardSettings>().DefaultNotificationSetting ==
UserNotificationSetting.TopicsIPostToOrSubscribeTo;
// save the settings...
LegacyDb.user_savenotification(
userId,
true,
autoWatchTopicsEnabled,
YafContext.Current.Get<YafBoardSettings>().DefaultNotificationSetting,
YafContext.Current.Get<YafBoardSettings>().DefaultSendDigestEmail);