31 private $metadataPool;
36 private $typeResolver;
41 private $resourceConnection;
46 private $eventManager;
56 private $createAttributes;
61 private $createExtensions;
66 private $sequenceApplier;
86 $this->metadataPool = $metadataPool;
87 $this->typeResolver = $typeResolver;
89 $this->eventManager = $eventManager;
90 $this->createMain = $createMain;
91 $this->createAttributes = $createAttributes;
92 $this->createExtensions = $createExtensions;
105 $metadata = $this->metadataPool->getMetadata(
$entityType);
106 $connection = $this->resourceConnection->getConnectionByName($metadata->getEntityConnectionName());
109 $this->eventManager->dispatch(
110 'entity_manager_save_before',
116 $this->eventManager->dispatchEntityEvent(
$entityType,
'save_before', [
'entity' =>
$entity]);
123 $this->eventManager->dispatchEntityEvent(
$entityType,
'save_after', [
'entity' =>
$entity]);
124 $this->eventManager->dispatch(
125 'entity_manager_save_after',
135 }
catch (\Exception $e) {
147 private function getSequenceApplier()
149 if (!$this->sequenceApplier) {
151 SequenceApplier::class
155 return $this->sequenceApplier;
__construct(MetadataPool $metadataPool, TypeResolver $typeResolver, ResourceConnection $resourceConnection, EventManager $eventManager, CreateMain $createMain, CreateAttributes $createAttributes, CreateExtensions $createExtensions)
execute($entity, $arguments=[])