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; }
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; }