protected function __createWorkTimeDependencies(Doc $doc, WorkTime $initiator) { $list = []; $period = $initiator->getPeriod(); if ($period->evenWeekdays()) { $expected = 0; } elseif ($period->oddWeekdays()) { $expected = 1; } else { return $list; } foreach (DateTime::getWeekdayNames() as $num => $day) { if ($num % 2 === $expected) { $workTime = $this->__createWorkTime($doc, $num, $period->getTimeBegin(), $period->getTimeEnd()); $workTime->setIsDependency(true); $list[] = $workTime; } } return $list; }
public function GetWorkTimeWeekdaysVariants() { return MedOptima_DateTime::getWeekdayNames() + [MedOptima_DateTime_WeekdayPeriod::EVEN_WEEKDAYS => 'Четные дни', MedOptima_DateTime_WeekdayPeriod::ODD_WEEKDAYS => 'Нечетные дни']; }