protected function doSave($con = null)
 {
     if (is_null($con)) {
         $con = $this->getConnection();
     }
     try {
         $con->beginTransaction();
         $values = $this->getValues();
         $id = $values['id'];
         for ($day = $this->getWeekDayFrom(); $day <= $this->getWeekDayTo(); $day++) {
             $prefix_name = "day_{$day}";
             for ($i = 1; $i <= $this->getBlocksPerCourseSubjectDay(); $i++) {
                 $course_subject_day = CourseSubjectDayPeer::retrieveOrCreateByDayAndBlockAndCourseSubjectId($day, $i, $id);
                 $block_name = $prefix_name . "_block_" . $i;
                 $name = $block_name . "_enable";
                 if ($values[$name]) {
                     $course_subject_day->setStartsAt($values[$block_name . "_starts_at"]);
                     $course_subject_day->setEndsAt($values[$block_name . "_ends_at"]);
                     $course_subject_day->setClassroomId($values[$block_name . "_classroom_id"]);
                     $course_subject_day->save($con);
                 } else {
                     if (!$course_subject_day->isNew()) {
                         $course_subject_day->delete($con);
                     }
                 }
             }
         }
         $con->commit();
     } catch (PropelException $e) {
         $con->rollback();
         throw $e;
     }
 }
Пример #2
0
 public function canBeDeleted()
 {
     $criteria = new Criteria();
     $criteria->add(CourseSubjectDayPeer::CLASSROOM_ID, $this->getId());
     return CourseSubjectDayPeer::doCount($criteria) == 0;
 }
Пример #3
0
 public function isConfiguredToCourse($day_number)
 {
     $c = new Criteria();
     $c->add(CourseSubjectDayPeer::COURSE_SUBJECT_ID, $this->getId());
     $c->add(CourseSubjectDayPeer::DAY, $day_number);
     return CourseSubjectDayPeer::doCount($c) > 0;
 }