//public override string CreateUserAndAccount(string userName, string password) //{ // return base.CreateUserAndAccount(userName, password); //} //public override string CreateUserAndAccount(string userName, string password, bool requireConfirmation) //{ // return base.CreateUserAndAccount(userName, password, requireConfirmation); //} public override string CreateUserAndAccount(string username, string password, bool requireConfirmation, IDictionary <string, object> values) { username = username.ToLower(); var email = values.FirstOrDefault(x => x.Key == "EmailId"); var firstName = values.FirstOrDefault(x => x.Key == "FirstName"); var lastName = values.FirstOrDefault(x => x.Key == "LastName"); var userStatusId = values.FirstOrDefault(x => x.Key == "UserStatusId"); MembershipCreateStatus status; var args = new ValidatePasswordEventArgs(username, password, true); OnValidatingPassword(args); if (args.Cancel) { status = MembershipCreateStatus.InvalidPassword; return(null); } if (RequiresUniqueEmail && GetUserNameByEmail(email.Value as string) != string.Empty) { status = MembershipCreateStatus.DuplicateEmail; return(null); } var existingUser = GetUser(username, true); if (existingUser == null) { var profile = new ExtendedUserProfileContract() { UserProfile = new UserProfileImplementor() { EmailId = email.Value as string, FirstName = firstName.Value as string, LastName = lastName.Value as string, //UserId = providerUserKey UserName = args.UserName, UserStatusId = Convert.ToByte(userStatusId.Value) } , WebPagesMembership = new WebPagesMembershipImplementor() { //ConfirmationToken = CreateDate = DateTime.UtcNow, IsConfirmed = !requireConfirmation || (Convert.ToByte(userStatusId.Value) != Convert.ToByte(UserStatusOptions.New)), //LastPasswordFailureDate = Password = Crypto.HashPassword(args.Password), PasswordChangedBy = Requestor.UserId, PasswordChangedDate = DateTime.UtcNow, PasswordSalt = String.Empty, //PasswordFailuresSinceLastSuccess //PasswordVerificationToken = // PasswordVerificationTokenExpirationDate = //UserId = = providerUserKey } }; Db.InsertUserProfile(new ExtendedUserProfileContract[] { profile }); status = MembershipCreateStatus.Success; return(username); } status = MembershipCreateStatus.DuplicateUserName; return(null); }
public override MembershipUser CreateUser( string username, string password, string email, string passwordQuestion, // string passwordAnswer, // bool isApproved, object providerUserKey, out MembershipCreateStatus status) { username = username.ToLower(); var args = new ValidatePasswordEventArgs(username, password, true); OnValidatingPassword(args); if (args.Cancel) { status = MembershipCreateStatus.InvalidPassword; return(null); } if (RequiresUniqueEmail && GetUserNameByEmail(email) != string.Empty) { status = MembershipCreateStatus.DuplicateEmail; return(null); } var existingUser = GetUser(username, true); if (existingUser == null) { var profile = new ExtendedUserProfileContract() { UserProfile = new UserProfileImplementor() { EmailId = email, //FirstName = //LastName = //UserId = providerUserKey UserName = username, UserStatusId = isApproved ? Convert.ToByte(UserStatusOptions.Approved) : Convert.ToByte(UserStatusOptions.New) } , WebPagesMembership = new WebPagesMembershipImplementor() { //ConfirmationToken = CreateDate = DateTime.UtcNow, IsConfirmed = isApproved, //LastPasswordFailureDate = Password = password, PasswordChangedBy = Requestor.UserId, PasswordChangedDate = DateTime.UtcNow, PasswordSalt = String.Empty, //PasswordFailuresSinceLastSuccess //PasswordVerificationToken = // PasswordVerificationTokenExpirationDate = //UserId = = providerUserKey } }; Db.InsertUserProfile(new ExtendedUserProfileContract[] { profile }); status = MembershipCreateStatus.Success; return(GetUser(username, true)); } status = MembershipCreateStatus.DuplicateUserName; return(null); }