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); }
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); }
/** * @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); }