BgEngine.Infraestructure.Security.CodeFirstMembershipProvider.CreateAccount C# (CSharp) Метод

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

public CreateAccount ( string userName, string password, string email, bool requireConfirmationToken ) : string
userName string
password string
email string
requireConfirmationToken bool
Результат string
        public override string CreateAccount(string userName, string password, string email,  bool requireConfirmationToken)
        {
            if (string.IsNullOrEmpty(password))
                    {
                        throw new MembershipCreateUserException(MembershipCreateStatus.InvalidPassword);
                    }
                    string hashedPassword = CodeFirstCrypto.HashPassword(password);
                    if (hashedPassword.Length > 128)
                    {
                        throw new MembershipCreateUserException(MembershipCreateStatus.InvalidPassword);
                    }
                    if (string.IsNullOrEmpty(userName))
                    {
                        throw new MembershipCreateUserException(MembershipCreateStatus.InvalidUserName);
                    }
                    if (string.IsNullOrEmpty(email))
                    {
                        throw new MembershipCreateUserException(MembershipCreateStatus.InvalidEmail);
                    }
                    using (BlogUnitOfWork context = new BlogUnitOfWork(new ModelContextInit()))
                    {
                        dynamic user = context.Users.FirstOrDefault(Usr => Usr.Username == userName);
                        dynamic emailuser = context.Users.FirstOrDefault(Usr => Usr.Email == email);
                        if (user != null)
                        {
                            throw new MembershipCreateUserException(MembershipCreateStatus.DuplicateUserName);
                        }
                        if (emailuser != null)
                        {
                            throw new MembershipCreateUserException(MembershipCreateStatus.DuplicateEmail);
                        }
                        string token = null;
                        if (requireConfirmationToken)
                        {
                            token = CodeFirstCrypto.GenerateToken();
                        }
                        int defaultNumPasswordFailures = 0;
                        User NewUser = new User
                        {
                            UserId = Guid.NewGuid(),
                            Username = userName,
                            Password = hashedPassword,
                            IsConfirmed = !requireConfirmationToken,
                            Email = email,
                            ConfirmationToken = token,
                            CreateDate = DateTime.UtcNow,
                            PasswordChangedDate = DateTime.UtcNow,
                            PasswordFailuresSinceLastSuccess = defaultNumPasswordFailures,
                            LastPasswordFailureDate = DateTime.UtcNow,
                        };

                        context.Users.Add(NewUser);
                        context.SaveChanges();
                        return token;
                    }
        }

Same methods

CodeFirstMembershipProvider::CreateAccount ( string userName, string password, string email, string firstname, string lastname, string timezone, string culture, bool requireConfirmationToken ) : string