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