public function actionPostforgotpassword()
 {
     $request = Yii::$app->request;
     if ($request->isAjax) {
         $post = $request->post();
         $emailAddress = $post['EmailAddress'];
         if ($emailAddress != "") {
             $isValidEmailAddress = DefaultController::isValidEmailAddress($emailAddress);
             if ($isValidEmailAddress == true) {
                 $_AccountRegisteredUsersForm = new AccountRegisteredUsersForm();
                 $isEmailAddressExistsRegisteredUsers = $_AccountRegisteredUsersForm->checkIfEmailAddressExists($emailAddress);
                 if ((int) $isEmailAddressExistsRegisteredUsers > 0) {
                     $registeredUserStatus = $_AccountRegisteredUsersForm->getTemporaryPasswordAndStatusByEmailAddress($emailAddress);
                     if (!empty($registeredUserStatus) || !is_null($registeredUserStatus)) {
                         if ((int) $registeredUserStatus == DefaultForm::ACCOUNT_STATUS_REGISTERED_USER_ACTIVE) {
                             $temporaryPassword = DefaultController::generateUniqueCode();
                             $registeredUserData = $_AccountRegisteredUsersForm->getIDAndUsernameAndLastNameAndFirstNameByEmailAddress($emailAddress);
                             $registeredUserID = $registeredUserData['ID'];
                             $lastName = $registeredUserData['LastName'];
                             $firstName = $registeredUserData['FirstName'];
                             $middleName = $registeredUserData['MiddleName'];
                             $updateTemporaryPassword = $_AccountRegisteredUsersForm->updateTemporaryPasswordByID($registeredUserID, $emailAddress, $lastName, $firstName, $middleName, $temporaryPassword);
                             $returnData = array('status' => $updateTemporaryPassword['status'], 'message' => $updateTemporaryPassword['message']);
                         } else {
                             $returnData = array('status' => DefaultForm::ERROR_CODE_SYSTEM_DEFAULT, 'message' => 'Seems you are trying to access an account which is not active! Make sure that the status of your account is active to continue.');
                         }
                     } else {
                         $returnData = array('status' => DefaultForm::ERROR_CODE_SYSTEM_DEFAULT, 'message' => 'Could not retrieve your account status!');
                     }
                 } else {
                     $returnData = array('status' => DefaultForm::ERROR_CODE_SYSTEM_DEFAULT, 'message' => 'Email address does not exists! We cannot send a help to a non-existing email address.');
                 }
             } else {
                 $returnData = array('status' => DefaultForm::ERROR_CODE_SYSTEM_DEFAULT, 'message' => 'Email Address is not valid!');
             }
         } else {
             $returnData = array('status' => DefaultForm::ERROR_CODE_SYSTEM_DEFAULT, 'message' => 'Email Address is required!');
         }
     } else {
         $returnData = array('status' => DefaultForm::ERROR_CODE_REQUEST_DEFAULT, 'message' => DefaultForm::ERROR_MESSAGE_AJAX_REQUEST_DEFAULT);
     }
     return json_encode($returnData);
 }