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 function countAngketpmbSessionAnswers($criteria = null, $distinct = false, $con = null) { include_once 'lib/model/om/BaseAngketpmbSessionAnswerPeer.php'; if ($criteria === null) { $criteria = new Criteria(); } elseif ($criteria instanceof Criteria) { $criteria = clone $criteria; } $criteria->add(AngketpmbSessionAnswerPeer::SESSION_ID, $this->getId()); return AngketpmbSessionAnswerPeer::doCount($criteria, $distinct, $con); }