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; } }
public function canBeDeleted() { $criteria = new Criteria(); $criteria->add(CourseSubjectDayPeer::CLASSROOM_ID, $this->getId()); return CourseSubjectDayPeer::doCount($criteria) == 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; }