public function PageLoad() { $referenceNumber = $this->page->GetReferenceNumber(); Log::Debug('User: %s, Approving reservation with reference number %s', $this->userSession->UserId, $referenceNumber); $series = $this->persistenceService->LoadByReferenceNumber($referenceNumber); if ($this->authorization->CanApprove(new ReservationViewAdapter($series), $this->userSession)) { $series->Approve($this->userSession); $this->handler->Handle($series, $this->page); } }
/** * @param string $referenceNumber * @param int $attributeId * @param string $attributeValue * @param UserSession $userSession * @return string[] Any errors that were returned during reservation update */ public function UpdateAttribute($referenceNumber, $attributeId, $attributeValue, $userSession) { $reservation = $this->persistenceService->LoadByReferenceNumber($referenceNumber); $reservation->UpdateBookedBy($userSession); $attributeValues = $reservation->AttributeValues(); $attributeValues[$attributeId] = $attributeValue; $reservation->ChangeAttribute(new AttributeValue($attributeId, $attributeValue)); $collector = new ManageReservationsUpdateAttributeResultCollector(); $this->reservationHandler->Handle($reservation, $collector); return $collector->errors; }