BetterMembership.Web.BetterMembershipProvider.CreateUser C# (CSharp) Метод

CreateUser() публичный Метод

public CreateUser ( string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, MembershipCreateStatus &status ) : System.Web.Security.MembershipUser
username string
password string
email string
passwordQuestion string
passwordAnswer string
isApproved bool
providerUserKey object
status MembershipCreateStatus
Результат System.Web.Security.MembershipUser
        public override MembershipUser CreateUser(
            string username, 
            string password, 
            string email, 
            string passwordQuestion, 
            string passwordAnswer, 
            bool isApproved, 
            object providerUserKey, 
            out MembershipCreateStatus status)
        {
            Condition.Requires(passwordQuestion, "passwordQuestion").IsNullOrWhiteSpace("not supported, expected null");
            Condition.Requires(passwordAnswer, "passwordAnswer").IsNullOrWhiteSpace("not supported, expected null");

            if (!this.ValidateUserName(username))
            {
                status = MembershipCreateStatus.InvalidUserName;
                return null;
            }

            if (!this.ValidatePassword(password, username))
            {
                status = MembershipCreateStatus.InvalidPassword;
                return null;
            }

            if (!this.ValidateProviderUserKey(providerUserKey, true))
            {
                status = MembershipCreateStatus.InvalidProviderUserKey;
                return null;
            }

            if (!this.ValidateEmail(email))
            {
                status = MembershipCreateStatus.InvalidEmail;
                return null;
            }

            var profile = new Dictionary<string, object>();

            if (!this.HasEmailColumnDefined && !string.IsNullOrWhiteSpace(email))
            {
                status = MembershipCreateStatus.ProviderError;
                return null;
            }

            if (this.RequiresUniqueEmail && this.HasEmailColumnDefined && !string.IsNullOrWhiteSpace(email))
            {
                var user = this.GetUserNameByEmail(email);
                if (user != null)
                {
                    status = MembershipCreateStatus.DuplicateEmail;
                    return null;
                }
            }

            if (this.HasEmailColumnDefined)
            {
                profile.Add(this.userEmailColumn, email);
            }

            try
            {
                this.CreateUserAndAccount(username, password, !isApproved, profile);
            }
            catch (MembershipCreateUserException e)
            {
                status = e.StatusCode;
                return null;
            }

            status = MembershipCreateStatus.Success;
            return GetUser(username, false);
        }