public function UpdateResourceStatus()
 {
     if (!$this->page->CanUpdateResourceStatuses()) {
         Log::Debug('User does not have rights to update resource statuses');
         return;
     }
     $session = ServiceLocator::GetServer()->GetUserSession();
     $statusId = $this->page->GetResourceStatus();
     $reasonId = $this->page->GetResourceStatusReason();
     $referenceNumber = $this->page->GetResourceStatusReferenceNumber();
     $resourceId = $this->page->GetUpdateResourceId();
     $updateScope = $this->page->GetUpdateScope();
     Log::Debug('Updating resource status. ResourceId=%s, ReferenceNumber=%s, StatusId=%s, ReasonId=%s, UserId=%s', $resourceId, $referenceNumber, $statusId, $reasonId, $session->UserId);
     $resourceIds = array();
     if (empty($updateScope)) {
         $resourceIds[] = $resourceId;
     } else {
         $reservations = $this->manageReservationsService->LoadFiltered(null, null, new ReservationFilter(null, null, $referenceNumber, null, null, null, null), $session);
         /** @var $reservation ReservationItemView */
         foreach ($reservations->Results() as $reservation) {
             $resourceIds[] = $reservation->ResourceId;
         }
     }
     foreach ($resourceIds as $id) {
         $resource = $this->resourceRepository->LoadById($id);
         $resource->ChangeStatus($statusId, $reasonId);
         $this->resourceRepository->Update($resource);
     }
 }