27 private $metadataPool;
32 private $typeResolver;
37 private $resourceConnection;
42 private $eventManager;
52 private $updateAttributes;
57 private $updateExtensions;
77 $this->metadataPool = $metadataPool;
78 $this->typeResolver = $typeResolver;
80 $this->eventManager = $eventManager;
81 $this->updateMain = $updateMain;
82 $this->updateAttributes = $updateAttributes;
83 $this->updateExtensions = $updateExtensions;
95 $metadata = $this->metadataPool->getMetadata(
$entityType);
96 $connection = $this->resourceConnection->getConnectionByName($metadata->getEntityConnectionName());
99 $this->eventManager->dispatch(
100 'entity_manager_save_before',
106 $this->eventManager->dispatchEntityEvent(
$entityType,
'save_before', [
'entity' =>
$entity]);
110 $this->eventManager->dispatchEntityEvent(
$entityType,
'save_after', [
'entity' =>
$entity]);
111 $this->eventManager->dispatch(
112 'entity_manager_save_after',
122 }
catch (\Exception $e) {
execute($entity, $arguments=[])
__construct(MetadataPool $metadataPool, TypeResolver $typeResolver, ResourceConnection $resourceConnection, EventManager $eventManager, UpdateMain $updateMain, UpdateAttributes $updateAttributes, UpdateExtensions $updateExtensions)