コード例 #1
0
 /**
  * @param Reservation $instance
  * @param ReservationSeries $series
  * @param IReservedItemView $existingItem
  * @param BookableResource[] $keyedResources
  * @return bool
  */
 protected function IsInConflict(Reservation $instance, ReservationSeries $series, IReservedItemView $existingItem, $keyedResources)
 {
     if ($existingItem->GetId() == $instance->ReservationId() || $series->IsMarkedForDelete($existingItem->GetId()) || $series->IsMarkedForUpdate($existingItem->GetId())) {
         return false;
     }
     return parent::IsInConflict($instance, $series, $existingItem, $keyedResources);
 }
コード例 #2
0
 public function Execute(Database $database)
 {
     $instanceId = $this->instance->ReservationId();
     $updateReservationCommand = new UpdateReservationCommand($this->instance->ReferenceNumber(), $this->series->SeriesId(), $this->instance->StartDate(), $this->instance->EndDate());
     $database->Execute($updateReservationCommand);
     foreach ($this->instance->RemovedParticipants() as $participantId) {
         $removeReservationUser = new RemoveReservationUserCommand($instanceId, $participantId);
         $database->Execute($removeReservationUser);
     }
     foreach ($this->instance->RemovedInvitees() as $inviteeId) {
         $insertReservationUser = new RemoveReservationUserCommand($instanceId, $inviteeId);
         $database->Execute($insertReservationUser);
     }
     foreach ($this->instance->AddedParticipants() as $participantId) {
         $insertReservationUser = new AddReservationUserCommand($instanceId, $participantId, ReservationUserLevel::PARTICIPANT);
         $database->Execute($insertReservationUser);
     }
     foreach ($this->instance->AddedInvitees() as $inviteeId) {
         $insertReservationUser = new AddReservationUserCommand($instanceId, $inviteeId, ReservationUserLevel::INVITEE);
         $database->Execute($insertReservationUser);
     }
 }
コード例 #3
0
 private function RaiseInstanceUpdatedEvent(Reservation $instance)
 {
     if (!$instance->IsNew()) {
         $this->AddEvent(new InstanceUpdatedEvent($instance, $this));
         $this->_updateRequestIds[] = $instance->ReservationId();
     }
 }