Moved database columns as constants in wrapper classes
[shipsimu.git] / application / ship-simu / main / government / class_SimplifiedGovernment.php
index 3413f9dc340c9653d96ee170a6ec2e4a0b77c057..d4b593b20b205b5f71ccaca3bf5a5ce18835a8e2 100644 (file)
@@ -24,7 +24,8 @@
  */
 class SimplifiedGovernment extends BaseFrameworkSystem implements Registerable {
        // Constants
-       const STATUS_STARTER_HELP = "STARTER_HELP";
+       const STATUS_STARTER_HELP    = 'STARTER_HELP';
+       const STATUS_TRAINING        = 'TRAINING';
 
        /**
         * Protected constructor
@@ -58,25 +59,32 @@ class SimplifiedGovernment extends BaseFrameworkSystem implements Registerable {
         * current user
         *
         * @return      $alreadyPayed   Wether the government has already payed
+        * @todo        Needs do check training limit
         */
        public function ifGovernmentAlreadyPayedTraining () {
                // Default is not payed
                $alreadyPayed = false;
 
+               // Cache startup training limit
+               $trainingLimit = $this->getConfigInstance()->getConfigEntry('government_training_limit');
+
                // Now get a search criteria and set the user's name as criteria
-               $criteriaInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class');
-               $criteriaInstance->addCriteria("gov_uid", $this->getUserInstance()->getUserId());
-               $criteriaInstance->addCriteria("gov_activity_status", self::STATUS_STARTER_HELP);
-               $criteriaInstance->setLimit(1);
+               $searchInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class');
+               $searchInstance->addCriteria(UserGovernmentDatabaseWrapper::DB_COLUMN_GOV_USERID  , $this->getUserInstance()->getUserId());
+               $searchInstance->addCriteria(UserGovernmentDatabaseWrapper::DB_COLUMN_GOV_ACTIVITY, self::STATUS_TRAINING);
+               $searchInstance->setLimit(1);
 
                // Get a wrapper instance
                $wrapperInstance = ObjectFactory::createObjectByConfiguredName('user_gov_wrapper_class');
 
                // Get result back
-               $resultInstance = $wrapperInstance->doSelectByCriteria($criteriaInstance);
+               $resultInstance = $wrapperInstance->doSelectByCriteria($searchInstance);
 
                // Was the query fine?
-               if ($resultInstance->getAffectedRows() === 1) {
+               if ($resultInstance->next()) {
+                       // Get entry
+                       $currEntry = $resultInstance->current();
+
                        // Entry was found so the government can no more pay a training
                        $alreadyPayed = true;
                } // END - if
@@ -90,6 +98,7 @@ class SimplifiedGovernment extends BaseFrameworkSystem implements Registerable {
         * current user
         *
         * @return      $maximumPayed   Wether the government has already payed
+        * @todo        Needs do check help limit
         */
        public function ifGovernmentPayedMaxmimumStartupHelp () {
                // Default is not payed
@@ -99,19 +108,22 @@ class SimplifiedGovernment extends BaseFrameworkSystem implements Registerable {
                $helpLimit = $this->getConfigInstance()->getConfigEntry('government_startup_help_limit');
 
                // Now get a search criteria and set the user's name as criteria
-               $criteriaInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class');
-               $criteriaInstance->addCriteria("gov_uid", $this->getUserInstance()->getUserId());
-               $criteriaInstance->addCriteria("gov_activity_status", self::STATUS_STARTER_HELP);
-               $criteriaInstance->setLimit($helpLimit);
+               $searchInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class');
+               $searchInstance->addCriteria(UserGovernmentDatabaseWrapper::DB_COLUMN_GOV_USERID  , $this->getUserInstance()->getUserId());
+               $searchInstance->addCriteria(UserGovernmentDatabaseWrapper::DB_COLUMN_GOV_ACTIVITY, self::STATUS_STARTER_HELP);
+               $searchInstance->setLimit($helpLimit);
 
                // Get a wrapper instance
                $wrapperInstance = ObjectFactory::createObjectByConfiguredName('user_gov_wrapper_class');
 
                // Get result back
-               $resultInstance = $wrapperInstance->doSelectByCriteria($criteriaInstance);
+               $resultInstance = $wrapperInstance->doSelectByCriteria($searchInstance);
 
                // Was the query fine?
-               if ($resultInstance->getAffectedRows() === $helpLimit) {
+               if ($resultInstance->next()) {
+                       // Get entry
+                       $currEntry = $resultInstance->current();
+
                        // Entry found, so lets have a look if this government wants to again...
                        $maximumPayed = true;
                } // END - if