コード例 #1
0
ファイル: SnapshotStore.php プロジェクト: prooph/event-store
 /**
  * Save aggregate root
  *
  * @param Snapshot $snapshot
  * @return void
  */
 public function save(Snapshot $snapshot)
 {
     $this->adapter->save($snapshot);
 }
コード例 #2
0
ファイル: Snapshotter.php プロジェクト: bweston92/snapshotter
 /**
  * @param TakeSnapshot $command
  */
 public function __invoke(TakeSnapshot $command)
 {
     $repository = $this->aggregateRepositories[$command->aggregateType()];
     $aggregateRoot = $repository->getAggregateRoot($command->aggregateId());
     $this->snapshotAdapter->add(new Snapshot(AggregateType::fromAggregateRootClass($command->aggregateType()), $command->aggregateId(), $aggregateRoot, $command->version(), $command->createdAt()));
 }