Example #1
0
 public function __construct(IRestServer $server, Schedule $schedule)
 {
     $this->daysVisible = $schedule->GetDaysVisible();
     $this->id = $schedule->GetId();
     $this->isDefault = $schedule->GetIsDefault();
     $this->name = $schedule->GetName();
     $this->timezone = $schedule->GetTimezone();
     $this->weekdayStart = $schedule->GetWeekdayStart();
     $this->AddService($server, WebServices::GetSchedule, array(WebServiceParams::ScheduleId => $schedule->GetId()));
 }
Example #2
0
 /**
  * @param Schedule $schedule
  * @param ResourceDto[] $resources
  * @return bool
  */
 private function ScheduleContainsNoResources(Schedule $schedule, $resources)
 {
     foreach ($resources as $resource) {
         if ($resource->GetScheduleId() == $schedule->GetId()) {
             return false;
         }
     }
     return true;
 }
Example #3
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);
     }
 }
Example #4
0
 public function Delete(Schedule $schedule)
 {
     ServiceLocator::GetDatabase()->Execute(new DeleteScheduleCommand($schedule->GetId()));
 }
 /**
  * @param Schedule $schedule
  * @return IScheduleLayout
  */
 public function GetLayout($schedule)
 {
     return $this->scheduleRepository->GetLayout($schedule->GetId(), new ScheduleLayoutFactory($schedule->GetTimezone()));
 }