public function PageLoad()
 {
     $resourceAttributes = $this->attributeService->GetByCategory(CustomAttributeCategory::RESOURCE);
     $filterValues = $this->page->GetFilterValues();
     $results = $this->resourceRepository->GetList($this->page->GetPageNumber(), $this->page->GetPageSize(), null, null, $filterValues->AsFilter($resourceAttributes));
     $resources = $results->Results();
     $this->page->BindResources($resources);
     $this->page->BindPageInfo($results->PageInfo());
     $schedules = $this->scheduleRepository->GetAll();
     $scheduleList = array();
     /* @var $schedule Schedule */
     foreach ($schedules as $schedule) {
         $scheduleList[$schedule->GetId()] = $schedule->GetName();
     }
     $this->page->BindSchedules($scheduleList);
     $this->page->AllSchedules($schedules);
     $resourceTypes = $this->resourceRepository->GetResourceTypes();
     $resourceTypeList = array();
     /* @var $resourceType ResourceType */
     foreach ($resourceTypes as $resourceType) {
         $resourceTypeList[$resourceType->Id()] = $resourceType;
     }
     $this->page->BindResourceTypes($resourceTypeList);
     $statusReasons = $this->resourceRepository->GetStatusReasons();
     $statusReasonList = array();
     foreach ($statusReasons as $reason) {
         $statusReasonList[$reason->Id()] = $reason;
     }
     $this->page->BindResourceStatusReasons($statusReasonList);
     $groups = $this->groupRepository->GetGroupsByRole(RoleLevel::RESOURCE_ADMIN);
     $this->page->BindAdminGroups($groups);
     $resourceIds = array();
     foreach ($resources as $resource) {
         $resourceIds[] = $resource->GetId();
     }
     $attributeList = $this->attributeService->GetAttributes(CustomAttributeCategory::RESOURCE, $resourceIds);
     $this->page->BindAttributeList($attributeList);
     $this->InitializeFilter($filterValues, $resourceAttributes);
 }
 public function PageLoad()
 {
     $schedules = $this->manageSchedulesService->GetAll();
     $sourceSchedules = $this->manageSchedulesService->GetSourceSchedules();
     $layouts = array();
     /* @var $schedule Schedule */
     foreach ($schedules as $schedule) {
         $layout = $this->manageSchedulesService->GetLayout($schedule);
         $layouts[$schedule->GetId()] = $layout;
     }
     $this->page->BindGroups($this->groupViewRepository->GetGroupsByRole(RoleLevel::SCHEDULE_ADMIN));
     $this->page->BindSchedules($schedules, $layouts, $sourceSchedules);
     $this->PopulateTimezones();
 }