/// <summary>
        /// Processes a request to update the password for a membership user.
        /// </summary>
        /// <returns>
        /// true if the password was updated successfully; otherwise, false.
        /// </returns>
        /// <param name="username">The user to update the password for. </param><param name="oldPassword">The current password for the specified user. </param><param name="newPassword">The new password for the specified user. </param>
        public override bool ChangePassword(string username, string oldPassword, string newPassword)
        {
            var currentUser = (RestaurantUser)GetUser(username, true /* userIsOnline */);

            if (currentUser == null || oldPassword == null)
            {
                return(false);
            }
            var basesuccess = base.ChangePassword(username, oldPassword, newPassword) &&
                              RestaurantUserRepository.ValidatePasswordWithHash(oldPassword.Trim(), currentUser.Password);

            if (basesuccess)
            {
                currentUser.Password = newPassword;
                basesuccess          = UserRepository.Update(currentUser);
            }
            return(basesuccess);
        }