public function PageLoad(UserSession $user) { $showInaccessibleResources = $this->_page->ShowInaccessibleResources(); $schedules = $this->_scheduleService->GetAll($showInaccessibleResources, $user); if (count($schedules) == 0) { $this->_page->ShowPermissionError(true); return; } $this->_page->ShowPermissionError(false); $currentSchedule = $this->_builder->GetCurrentSchedule($this->_page, $schedules, $user); $targetTimezone = $this->_page->GetDisplayTimezone($user, $currentSchedule); $activeScheduleId = $currentSchedule->GetId(); $this->_builder->BindSchedules($this->_page, $schedules, $currentSchedule); $scheduleDates = $this->_builder->GetScheduleDates($user, $currentSchedule, $this->_page); $this->_builder->BindDisplayDates($this->_page, $scheduleDates, $currentSchedule); $resourceGroups = $this->_resourceService->GetResourceGroups($activeScheduleId, $user); $this->_builder->BindResourceGroups($this->_page, $resourceGroups); $resourceTypes = $this->_resourceService->GetResourceTypes(); $this->_builder->BindResourceTypes($this->_page, $resourceTypes); $resourceAttributes = $this->_resourceService->GetResourceAttributes(); $resourceTypeAttributes = $this->_resourceService->GetResourceTypeAttributes(); $layout = $this->_scheduleService->GetLayout($activeScheduleId, new ScheduleLayoutFactory($targetTimezone)); $reservationListing = $this->_reservationService->GetReservations($scheduleDates, $activeScheduleId, $targetTimezone); $dailyLayout = $this->_dailyLayoutFactory->Create($reservationListing, $layout); $filter = $this->_builder->GetResourceFilter($activeScheduleId, $this->_page); $this->_builder->BindResourceFilter($this->_page, $filter, $resourceAttributes, $resourceTypeAttributes); $resources = $this->_resourceService->GetScheduleResources($activeScheduleId, $showInaccessibleResources, $user, $filter); $this->_builder->BindReservations($this->_page, $resources, $dailyLayout); }