public override bool ChangePasswordQuestionAndAnswer(string username, string password,
                                                             string newPasswordQuestion, string newPasswordAnswer)
        {
            try
            {
                using (var transaction = new TransactionScope(_mConfiguration))
                {
                    var  dataStore = new UserDataStore(transaction);
                    User user      = dataStore.FindByName(ApplicationName, username);
                    if (user == null)
                    {
                        throw new UserNotFoundException(username);
                    }

                    if (user.CheckPassword(password) == false)
                    {
                        throw new UserNotFoundException(username);
                    }

                    user.ChangePasswordQuestionAnswer(newPasswordQuestion, newPasswordAnswer);

                    transaction.Commit();
                }

                return(true);
            }
            catch (Exception ex)
            {
                LogException(ex, "ChangePasswordQuestionAndAnswer");
                return(false);
            }
        }