public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { var e = new ValidatePasswordEventArgs(username, password, true); OnValidatingPassword(e); if (e.Cancel) { status = MembershipCreateStatus.InvalidPassword; return(null); } if (RequiresUniqueEmail && !string.IsNullOrEmpty(GetUserNameByEmail(email))) { status = MembershipCreateStatus.DuplicateEmail; return(null); } if (SystemUserWrapper.FindByLoginID(username) != null) { status = MembershipCreateStatus.DuplicateUserName; return(null); } var user = new SystemUserWrapper { UserName = username, UserLoginID = username, UserPassword = EncodePassword(password, machineKey.ValidationKey), PasswordFormat = ((int)PasswordFormat), PasswordSalt = machineKey.ValidationKey, UserEmail = email, PasswordQuestion = passwordQuestion, PasswordAnswer = passwordAnswer, IsApproved = isApproved }; user.UserCreateDate = DateTime.Now; user.FailedPwdAnsAttemptWndStart = DateTime.Parse("1753-1-1"); user.LastPasswordChangeDate = DateTime.Parse("1753-1-1"); user.LastLoginDate = DateTime.Parse("1753-1-1"); user.FailedPwdAttemptWndStart = DateTime.Parse("1753-1-1"); user.LastActivityDate = DateTime.Parse("1753-1-1"); user.LastLockedOutDate = DateTime.Parse("1753-1-1"); user.Applications.Add(application); try { SystemUserWrapper.Save(user, SystemUserWrapper.GetDeveUserID()); status = MembershipCreateStatus.Success; } catch (Exception exception) { throw NhibernateMembershipProviderExceptionUtil.NewProviderException(this, NHibernateProviderSR. User_UnableToCreate, exception); } return(GetUser(username, false)); }