Пример #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
 private function AddInstance(Reservation $reservation, $timezone)
 {
     $this->_breakAndAdd($reservation->StartDate(), $reservation->EndDate(), $timezone);
 }
Пример #3
0
 static function Compare(Reservation $res1, Reservation $res2)
 {
     return $res1->StartDate()->Compare($res2->StartDate());
 }
 private function GetAddReservationCommand($expectedSeriesId, Reservation $expectedInstance)
 {
     return new AddReservationCommand($expectedInstance->StartDate(), $expectedInstance->EndDate(), $expectedInstance->ReferenceNumber(), $expectedSeriesId);
 }