public static function addCategory3($application, $schoolIds, $yArray, $dArray, $guardianNic, $ppo, $achievements, $donations, $siblings)
 {
     $db = Connection::getInstance();
     $mysqli = $db->getConnection();
     $mysqli->autocommit(FALSE);
     $applicantResult = DBApplicationController::addApplication($application);
     if ($applicantResult) {
         $resultSchoolSet = true;
         $isApplicanthasCSS = DBSchoolController::isApplicanthasCSS($application->getApplicant_id());
         if ($isApplicanthasCSS) {
             //do not need add school set
         } else {
             // return $schoolIds[1];
             $resultSchoolSet = DBSchoolController::addCloseSchoolSet($application->getApplicant_id(), $schoolIds);
         }
         if ($resultSchoolSet) {
             $resultEL = true;
             $isGuardianHasEL = DBGuardianController::isGuardianHasEL($guardianNic);
             if ($isGuardianHasEL) {
             } else {
                 $resultEL = DBElectrocalListController::addElectrocalListDetail($dArray, $yArray, $guardianNic);
             }
             if ($resultEL) {
                 for ($i = 0; $i < 3; $i++) {
                     $resultC = true;
                     $resultEA = true;
                     $resultD = true;
                     $resultS = true;
                     $resultCD = DBGuardianController::hasCategory3Detail($ppo[$i]->getAdmissionNumber(), $application->getSchool_id());
                     if ($resultCD == false) {
                         $resultC = DBCategory3Controller::addCategory3($ppo[$i]);
                         $resultEA = DBCPAchievementController::addCPAchievement($achievements[$i]);
                         $resultD = DBCurPupilDonationController::addCPDonation($donations[$i]);
                         $resultS = DBSiblingController::addSibling($siblings[$i]);
                     }
                     if ($resultD and $resultEA and $resultC and $resultS) {
                     } else {
                         $mysqli->rollback();
                         $mysqli->commit();
                         return false;
                     }
                 }
                 $mysqli->commit();
                 return true;
             } else {
                 $mysqli->rollback();
                 $mysqli->commit();
                 return FALSE;
             }
         } else {
             $mysqli->rollback();
             $mysqli->commit();
             return FALSE;
         }
     } else {
         $mysqli->rollback();
         $mysqli->commit();
         return FALSE;
     }
 }
 public function postVerifytype3()
 {
     $application_id = Input::get('type');
     $schoolid = Input::get('school_id');
     $school = DBSchoolController::getSchool($schoolid);
     $application = DBApplicationController::getApplication($application_id);
     $applicant_id = $application->getApplicant_id();
     $applicant = DBStudentApplicantController::getApplicantById($applicant_id);
     $NIC = $applicant->getGuardianNIC();
     $guardian = DBGuardianController::getGuardianByNic($NIC);
     $siblings = DBSiblingController::getSiblings($applicant_id);
     foreach ($siblings as $sibling) {
         $schoolId = $sibling->getSchoolId();
         $admissionNumber = $sibling->getAdmissionNumber();
         $category = DBCategory3Controller::getCategory3($schoolId, $admissionNumber);
         $cur_ach_set = DBCPAchievementController::getCPAchievements($schoolId, $admissionNumber);
         $category->setCur_pup_ach_set($cur_ach_set);
         $cur_don_set = DBCurPupilDonationController::getCPDonations($schoolId, $admissionNumber);
         $category->setCur_pup_donation_set($cur_don_set);
         $sibling->setCur_pupil($category);
     }
     return View::make('G1SAS/verifycategoryset/VerifyCategory3')->with('application_id', $application_id)->with('guardian', $guardian)->with('school', $school)->with('application', $application)->with('applicant', $applicant)->with('siblings', $siblings);
 }