예제 #1
0
 /**
  * Add a new appointment to data set.
  *
  * @param $user
  * @param $dateStart
  * @param $dateEnd
  * @param $courseId
  * @param $studentsIds
  * @param $tutorId
  * @param $instructorsIds
  * @param $termId
  * @param $secretaryName
  * @throws Exception
  */
 public static function add($user, $dateStart, $dateEnd, $courseId, $studentsIds, $tutorId, $instructorsIds, $termId, $secretaryName)
 {
     $dateStart = Dates::initDateTime($dateStart);
     $dateEnd = Dates::initDateTime($dateEnd);
     Course::validateId($courseId);
     if (sizeof($studentsIds) != sizeof($instructorsIds)) {
         throw new Exception("An instructor is required for each student.");
     }
     Student::validateIds($studentsIds);
     Instructor::validateIds($instructorsIds);
     Tutor::validateId($tutorId);
     Term::validateId($termId);
     self::validateNewDates($user, $termId, $tutorId, $dateStart, $dateEnd);
     AppointmentFetcher::insert($dateStart, $dateEnd, $courseId, $studentsIds, $tutorId, $instructorsIds, $termId);
     header('Location: ' . BASE_URL . 'appointments/add/success');
     exit;
 }