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); } }
private function AddInstance(Reservation $reservation, $timezone) { $this->_breakAndAdd($reservation->StartDate(), $reservation->EndDate(), $timezone); }
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); }