Example #1
0
 private function isSudahAngket($applicant)
 {
     /* Cari Angket Session */
     $c = new Criteria();
     $c->add(AngketpmbSessionPeer::TEST_APPLICANT_ID, $applicant->getId(), Criteria::EQUAL);
     $angketSession = AngketpmbSessionPeer::doSelectOne($c);
     if (!$angketSession) {
         return false;
     }
     /* Cari soal-soal */
     $c = new Criteria();
     $c->addAscendingOrderByColumn(AngketpmbSoalPeer::ORDERING);
     $soal = AngketpmbSoalPeer::doSelect($c);
     $soalCount = AngketpmbSoalPeer::doCount($c);
     if (!$soal) {
         return false;
     }
     /* Cari Jawaban yang pernah dipilih sebelumnya */
     $c = new Criteria();
     $c->add(AngketpmbSessionAnswerPeer::SESSION_ID, $angketSession->getId(), Criteria::EQUAL);
     $angketAnswer = AngketpmbSessionAnswerPeer::doSelect($c);
     $answerCount = AngketpmbSessionAnswerPeer::doCount($c);
     if ($answerCount < $soalCount) {
         return false;
     }
     $answerSoalId = array();
     foreach ($angketAnswer as $a) {
         $answerSoalId[] = $a->getSoalId();
     }
     foreach ($soal as $s) {
         if (!in_array($s->getId(), $answerSoalId)) {
             return false;
         }
     }
     return true;
 }
 public static function retrieveByPKs($pks, $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(self::DATABASE_NAME);
     }
     $objs = null;
     if (empty($pks)) {
         $objs = array();
     } else {
         $criteria = new Criteria();
         $criteria->add(AngketpmbSessionAnswerPeer::ID, $pks, Criteria::IN);
         $objs = AngketpmbSessionAnswerPeer::doSelect($criteria, $con);
     }
     return $objs;
 }
Example #3
0
 public function getAngketpmbSessionAnswers($criteria = null, $con = null)
 {
     include_once 'lib/model/om/BaseAngketpmbSessionAnswerPeer.php';
     if ($criteria === null) {
         $criteria = new Criteria();
     } elseif ($criteria instanceof Criteria) {
         $criteria = clone $criteria;
     }
     if ($this->collAngketpmbSessionAnswers === null) {
         if ($this->isNew()) {
             $this->collAngketpmbSessionAnswers = array();
         } else {
             $criteria->add(AngketpmbSessionAnswerPeer::SESSION_ID, $this->getId());
             AngketpmbSessionAnswerPeer::addSelectColumns($criteria);
             $this->collAngketpmbSessionAnswers = AngketpmbSessionAnswerPeer::doSelect($criteria, $con);
         }
     } else {
         if (!$this->isNew()) {
             $criteria->add(AngketpmbSessionAnswerPeer::SESSION_ID, $this->getId());
             AngketpmbSessionAnswerPeer::addSelectColumns($criteria);
             if (!isset($this->lastAngketpmbSessionAnswerCriteria) || !$this->lastAngketpmbSessionAnswerCriteria->equals($criteria)) {
                 $this->collAngketpmbSessionAnswers = AngketpmbSessionAnswerPeer::doSelect($criteria, $con);
             }
         }
     }
     $this->lastAngketpmbSessionAnswerCriteria = $criteria;
     return $this->collAngketpmbSessionAnswers;
 }