Пример #1
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);
     }
 }
Пример #2
0
 public function __toString()
 {
     return sprintf("%s%s", get_class($this), $this->instance->ReferenceNumber());
 }
Пример #3
0
 /**
  * @param Reservation $instance
  * @return bool
  */
 protected function IsCurrent(Reservation $instance)
 {
     return $instance->ReferenceNumber() == $this->CurrentInstance()->ReferenceNumber();
 }
Пример #4
0
 /**
  * @param Reservation $instance
  * @param array|int[] $inviteeIds
  * @return ReservationUserRow
  */
 public function WithInvitees($instance, $inviteeIds)
 {
     foreach ($inviteeIds as $id) {
         $this->AddRow($instance->ReferenceNumber(), $id, ReservationUserLevel::INVITEE);
     }
     return $this;
 }
 private function GetAddReservationCommand($expectedSeriesId, Reservation $expectedInstance)
 {
     return new AddReservationCommand($expectedInstance->StartDate(), $expectedInstance->EndDate(), $expectedInstance->ReferenceNumber(), $expectedSeriesId);
 }