public function attachToFinalCriteria(Criteria $criteria)
 {
     if (!is_null($this->get('_partner_permissions_exist'))) {
         if (is_null($this->get('_in_id'))) {
             $mandatoryParameter = "_in_id";
             throw new kCoreException("Mandatory parameter {$mandatoryParameter} missing from the filter", kCoreException::MISSING_MANDATORY_PARAMETERS, $mandatoryParameter);
         }
         $permissions = explode(',', $this->get('_partner_permissions_exist'));
         $tmpCriteria = new Criteria();
         $tmpCriteria->addSelectColumn(PermissionPeer::PARTNER_ID);
         $tmpCriteria->addAnd(PermissionPeer::NAME, $permissions, Criteria::IN);
         $ids = explode(',', $this->get('_in_id'));
         $tmpCriteria->addAnd(PermissionPeer::PARTNER_ID, $ids, Criteria::IN);
         $tmpCriteria->addAnd(PermissionPeer::STATUS, PermissionStatus::ACTIVE, Criteria::EQUAL);
         $stmt = PermissionPeer::doSelectStmt($tmpCriteria);
         $this->setIdIn($stmt->fetchAll(PDO::FETCH_COLUMN));
         $this->unsetByName('_partner_permissions_exist');
     }
     return parent::attachToFinalCriteria($criteria);
 }
 public function attachToFinalCriteria(Criteria $c)
 {
     $fromHour = $c->getNewCriterion(DwhHourlyPartnerPeer::HOUR_ID, $this->get('_gte_hour_id'), Criteria::GREATER_EQUAL);
     $theDate = $c->getNewCriterion(DwhHourlyPartnerPeer::DATE_ID, $this->get('_gte_date_id'));
     $theDate->addAnd($fromHour);
     $fromDate = $c->getNewCriterion(DwhHourlyPartnerPeer::DATE_ID, $this->get('_gte_date_id'), Criteria::GREATER_THAN);
     $fromDate->addOr($theDate);
     $c->addAnd($fromDate);
     $this->unsetByName('_gte_hour_id');
     $this->unsetByName('_gte_date_id');
     $toHour = $c->getNewCriterion(DwhHourlyPartnerPeer::HOUR_ID, $this->get('_lte_hour_id'), Criteria::LESS_EQUAL);
     $theDate = $c->getNewCriterion(DwhHourlyPartnerPeer::DATE_ID, $this->get('_lte_date_id'));
     $theDate->addAnd($toHour);
     $toDate = $c->getNewCriterion(DwhHourlyPartnerPeer::DATE_ID, $this->get('_lte_date_id'), Criteria::LESS_THAN);
     $toDate->addOr($theDate);
     $c->addAnd($toDate);
     $this->unsetByName('_lte_hour_id');
     $this->unsetByName('_lte_date_id');
     return parent::attachToFinalCriteria($c);
 }
 public function attachToFinalCriteria(Criteria $criteria)
 {
     $jobTypeAndSubTypeIn = $this->get("_in_job_type_and_sub_type");
     if ($jobTypeAndSubTypeIn !== null) {
         $finalTypesAndSubTypes = array();
         $arr = explode(self::JOB_TYPE_AND_SUB_TYPE_MAIN_DELIMITER, $jobTypeAndSubTypeIn);
         foreach ($arr as $jobTypeIn) {
             list($jobType, $jobSubTypes) = explode(self::JOB_TYPE_AND_SUB_TYPE_TYPE_DELIMITER, $jobTypeIn);
             $finalTypesAndSubTypes[$jobType] = $jobSubTypes;
         }
         if (count($finalTypesAndSubTypes)) {
             $mainCriterion = null;
             foreach ($finalTypesAndSubTypes as $finalJobType => $finalSubTypes) {
                 if ($mainCriterion) {
                     if (strlen(trim($finalSubTypes))) {
                         $finalSubTypesArr = explode(self::JOB_TYPE_AND_SUB_TYPE_SUB_DELIMITER, $finalSubTypes);
                         $jobTypeCriterion = $criteria->getNewCriterion(BatchJobPeer::JOB_TYPE, $finalJobType);
                         $jobTypeCriterion->addAnd($criteria->getNewCriterion(BatchJobPeer::JOB_SUB_TYPE, $finalSubTypesArr, Criteria::IN));
                         $mainCriterion->addOr($jobTypeCriterion);
                     } else {
                         $jobTypeCriterion = $criteria->getNewCriterion(BatchJobPeer::JOB_TYPE, $finalJobType);
                         $mainCriterion->addOr($jobTypeCriterion);
                     }
                 } else {
                     if (strlen(trim($finalSubTypes))) {
                         $finalSubTypesArr = explode(self::JOB_TYPE_AND_SUB_TYPE_SUB_DELIMITER, $finalSubTypes);
                         $mainCriterion = $criteria->getNewCriterion(BatchJobPeer::JOB_TYPE, $finalJobType);
                         $mainCriterion->addAnd($criteria->getNewCriterion(BatchJobPeer::JOB_SUB_TYPE, $finalSubTypesArr, Criteria::IN));
                     } else {
                         $mainCriterion = $criteria->getNewCriterion(BatchJobPeer::JOB_TYPE, $finalJobType);
                     }
                 }
             }
             $criteria->addAnd($mainCriterion);
         }
     }
     $this->set("_in_job_type_and_sub_type", null);
     parent::attachToFinalCriteria($criteria);
 }