BusinessLogic.SqlMembershipProvider.ChangePassword C# (CSharp) Method

ChangePassword() public method

public ChangePassword ( string username, string oldPwd, string newPwd ) : bool
username string
oldPwd string
newPwd string
return bool
        public override bool ChangePassword(string username, string oldPwd, string newPwd)
        {
            if (!ValidateUser(username, oldPwd))
                return false;

            ValidatePasswordEventArgs args =
              new ValidatePasswordEventArgs(username, newPwd, true);

            OnValidatingPassword(args);

            if (args.Cancel)
                if (args.FailureInformation != null)
                    throw args.FailureInformation;
                else
                    throw new MembershipPasswordException("Change password canceled due to new password validation failure.");

            SqlConnection conn = new SqlConnection(connectionString);
            SqlCommand cmd = new SqlCommand("UPDATE Users " +
                    " SET Password = @Password, LastPasswordChangedDate = @LastPasswordChangedDate " +
                    " WHERE Username = @Username AND ApplicationName = @ApplicationName", conn);

            cmd.Parameters.AddWithValue("@Password", EncodePassword(newPwd));
            cmd.Parameters.AddWithValue("@LastPasswordChangedDate", DateTime.Now);
            cmd.Parameters.AddWithValue("@Username", username);
            cmd.Parameters.AddWithValue("@ApplicationName", pApplicationName);

            int rowsAffected = 0;

            try
            {
                conn.Open();

                rowsAffected = cmd.ExecuteNonQuery();
            }
            catch (SqlException e)
            {
                if (WriteExceptionsToEventLog)
                {
                    WriteToEventLog(e, "ChangePassword");

                    throw new ProviderException(exceptionMessage);
                }
                else
                {
                    throw e;
                }
            }
            finally
            {
                conn.Close();
            }

            if (rowsAffected > 0)
            {
                return true;
            }

            return false;
        }