Exemplo n.º 1
0
 public function AddBlackout()
 {
     $session = ServiceLocator::GetServer()->GetUserSession();
     $resourceIds = array();
     if ($this->page->GetApplyBlackoutToAllResources()) {
         $scheduleId = $this->page->GetBlackoutScheduleId();
         $resources = $this->resourceRepository->GetScheduleResources($scheduleId);
         foreach ($resources as $resource) {
             $resourceIds[] = $resource->GetId();
         }
     } else {
         $resourceIds[] = $this->page->GetBlackoutResourceId();
     }
     $startDate = $this->page->GetBlackoutStartDate();
     $startTime = $this->page->GetBlackoutStartTime();
     $endDate = $this->page->GetBlackoutEndDate();
     $endTime = $this->page->GetBlackoutEndTime();
     $blackoutDate = DateRange::Create($startDate . ' ' . $startTime, $endDate . ' ' . $endTime, $session->Timezone);
     $title = $this->page->GetBlackoutTitle();
     $conflictAction = $this->page->GetBlackoutConflictAction();
     $repeatOptionsFactory = new RepeatOptionsFactory();
     $repeatOptions = $repeatOptionsFactory->CreateFromComposite($this->page, $session->Timezone);
     $result = $this->manageBlackoutsService->Add($blackoutDate, $resourceIds, $title, ReservationConflictResolution::Create($conflictAction), $repeatOptions);
     $this->page->ShowAddResult($result->WasSuccessful(), $result->Message(), $result->ConflictingReservations(), $result->ConflictingBlackouts(), $session->Timezone);
 }
Exemplo n.º 2
0
 public function GetScheduleResources($scheduleId, $includeInaccessibleResources, UserSession $user, $filter = null)
 {
     if ($filter == null) {
         $filter = new ScheduleResourceFilter();
     }
     $resources = $this->_resourceRepository->GetScheduleResources($scheduleId);
     $resourceIds = $filter->FilterResources($resources, $this->_resourceRepository, $this->_attributeService);
     return $this->Filter($resources, $user, $includeInaccessibleResources, $resourceIds);
 }
Exemplo n.º 3
0
 /**
  * @param int $scheduleId
  * @param int $moveResourcesToThisScheduleId
  */
 public function Delete($scheduleId, $moveResourcesToThisScheduleId)
 {
     $resources = $this->resourceRepository->GetScheduleResources($scheduleId);
     foreach ($resources as $resource) {
         $resource->SetScheduleId($moveResourcesToThisScheduleId);
         $this->resourceRepository->Update($resource);
     }
     $schedule = $this->scheduleRepository->LoadById($scheduleId);
     $this->scheduleRepository->Delete($schedule);
 }