예제 #1
0
 public static function updateStudents($appointmentId, $oldStudentsIds, $newStudentsId)
 {
     if (!isset($newStudentsId) || empty($newStudentsId)) {
         throw new Exception("Data have been malformed.");
     }
     Student::validateIds($newStudentsId);
     $update = false;
     $totStudents = sizeof($newStudentsId);
     for ($i = 0; $i < $totStudents; $i++) {
         $newStudentId = $newStudentsId[$i];
         $oldStudentId = $oldStudentsIds[$i][AppointmentHasStudentFetcher::DB_COLUMN_STUDENT_ID];
         if (strcmp($newStudentId, $oldStudentId) !== 0) {
             if (self::hasStudentId($newStudentId, $oldStudentsIds)) {
                 throw new Exception("Student already exist on appointment." . var_dump($oldStudentsIds));
             }
         }
     }
     // check if there is a need to update data
     for ($i = 0; $i < $totStudents; $i++) {
         $newStudentId = $newStudentsId[$i];
         $oldStudentId = $oldStudentsIds[$i][AppointmentHasStudentFetcher::DB_COLUMN_STUDENT_ID];
         if (strcmp($newStudentId, $oldStudentId) !== 0) {
             AppointmentHasStudentFetcher::updateStudentId($oldStudentId, $newStudentId, $appointmentId);
             $update = true;
         }
     }
     return $update;
 }