Beispiel #1
0
 public function __construct(IRestServer $server, Schedule $schedule, IScheduleLayout $layout)
 {
     $this->daysVisible = $schedule->GetDaysVisible();
     $this->id = $schedule->GetId();
     $this->isDefault = $schedule->GetIsDefault();
     $this->name = $schedule->GetName();
     $this->timezone = $schedule->GetTimezone();
     $this->weekdayStart = $schedule->GetWeekdayStart();
     if ($schedule->GetIsCalendarSubscriptionAllowed()) {
         $url = new CalendarSubscriptionUrl(null, $schedule->GetPublicId(), null);
         $this->icsUrl = $url->__toString();
     }
     $layoutDate = Date::Now()->ToTimezone($server->GetSession()->Timezone);
     for ($day = 0; $day < 7; $day++) {
         $periods = $layout->GetLayout($layoutDate);
         foreach ($periods as $period) {
             $this->periods[$layoutDate->Weekday()][] = new SchedulePeriodResponse($period);
         }
         $layoutDate = $layoutDate->AddDays(1);
     }
 }
Beispiel #2
0
 public function Update(Schedule $schedule)
 {
     ServiceLocator::GetDatabase()->Execute(new UpdateScheduleCommand($schedule->GetId(), $schedule->GetName(), $schedule->GetIsDefault(), $schedule->GetWeekdayStart(), $schedule->GetDaysVisible(), $schedule->GetIsCalendarSubscriptionAllowed(), $schedule->GetPublicId(), $schedule->GetAdminGroupId()));
     if ($schedule->GetIsDefault()) {
         ServiceLocator::GetDatabase()->Execute(new SetDefaultScheduleCommand($schedule->GetId()));
     }
 }
 public function testCanUpdateSchedule()
 {
     $id = 10;
     $name = 'super schedule';
     $isDefault = 0;
     $weekdayStart = 5;
     $daysVisible = 3;
     $subscriptionEnabled = true;
     $adminGroupId = 123;
     $schedule = new Schedule($id, $name, $isDefault, $weekdayStart, $daysVisible);
     $schedule->EnableSubscription();
     $publicId = $schedule->GetPublicId();
     $schedule->SetAdminGroupId($adminGroupId);
     $this->scheduleRepository->Update($schedule);
     $this->assertEquals(new UpdateScheduleCommand($id, $name, $isDefault, $weekdayStart, $daysVisible, $subscriptionEnabled, $publicId, $adminGroupId), $this->db->_LastCommand);
 }