コード例 #1
0
ファイル: ESFixtures.php プロジェクト: franiglesias/milhojas
 private function generateEvents($manager, $entity, $id, $maxVersion)
 {
     for ($version = 1; $version <= $maxVersion; $version++) {
         $this->eventId++;
         $event = new EventDTO();
         $event->setId($this->eventId);
         $event->setEventType('EventDouble');
         $event->setEvent(new EventDouble($id));
         $event->setEntityType($entity);
         $event->setEntityId($id->getId());
         $event->setVersion($version);
         $event->setMetadata(array());
         $event->setTime(new \DateTimeImmutable());
         $this->addReference(sprintf('test-event-%s-%s-%s', $entity, $id->getId(), $version), $event);
         $manager->persist($event);
     }
 }
コード例 #2
0
 public function saveStream(EventStream $stream)
 {
     foreach ($stream as $message) {
         $this->checkVersion($message->getEntity());
         $this->em->persist(EventDTO::fromEventMessage($message));
     }
     $this->em->flush();
     $this->em->clear();
 }
コード例 #3
0
ファイル: EntityDTO.php プロジェクト: franiglesias/milhojas
 public static function fromEventDTO(EventDTO $dto)
 {
     return new static($dto->getEntityType(), new Id($dto->getEntityId()), $dto->getVersion());
 }
コード例 #4
0
 public static function fromEventDTO(EventDTO $dto)
 {
     return new static($dto->getEvent(), EntityDTO::fromEventDTO($dto), EventEnvelope::fromEventDTO($dto));
 }
コード例 #5
0
 public static function fromEventDTO(EventDTO $dto)
 {
     return new static($dto->getId(), $dto->getTime(), $dto->getMetadata());
 }