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

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

public ResetPasswordWithToken ( string token, string newPassword ) : bool
token string
newPassword string
Результат bool
        public override bool ResetPasswordWithToken(string token, string newPassword)
        {
            if (string.IsNullOrEmpty(newPassword))
                    {
                        throw CreateArgumentNullOrEmptyException("newPassword");
                    }
                    using (BlogUnitOfWork context = new BlogUnitOfWork(new ModelContextInit()))
                    {
                        dynamic user = context.Users.FirstOrDefault(Usr => Usr.PasswordVerificationToken == token && Usr.PasswordVerificationTokenExpirationDate > DateTime.Now);
                        if (user != null)
                        {
                            dynamic newhashedPassword = CodeFirstCrypto.HashPassword(newPassword);
                            if (newhashedPassword.Length > 128)
                            {
                                throw new ArgumentException("Password too long");
                            }
                            user.Password = newhashedPassword;
                            user.PasswordChangedDate = DateTime.UtcNow;
                            user.PasswordVerificationToken = null;
                            user.PasswordVerificationTokenExpirationDate = null;
                            context.SaveChanges();
                            return true;
                        }
                        else
                        {
                            return false;
                        }
                    }
        }