예제 #1
0
 /**
  * @param ReservationSeries $reservationSeries
  * @return ReservationRuleResult
  */
 function Validate($reservationSeries)
 {
     $status = ReservationStatus::Created;
     /** @var BookableResource $resource */
     foreach ($reservationSeries->AllResources() as $resource) {
         if ($resource->GetRequiresApproval()) {
             if (!$this->authorizationService->CanApproveForResource($reservationSeries->BookedBy(), $resource)) {
                 $status = ReservationStatus::Pending;
                 break;
             }
         }
     }
     $reservationSeries->SetStatusId($status);
     return new ReservationRuleResult();
 }