28 private $metadataPool;
33 private $typeResolver;
38 private $resourceConnection;
43 private $eventManager;
48 private $transactionManager;
58 private $deleteAttributes;
63 private $deleteExtensions;
85 $this->metadataPool = $metadataPool;
86 $this->typeResolver = $typeResolver;
88 $this->eventManager = $eventManager;
89 $this->transactionManager = $transactionManager;
90 $this->deleteMain = $deleteMain;
91 $this->deleteAttributes = $deleteAttributes;
92 $this->deleteExtensions = $deleteExtensions;
104 $metadata = $this->metadataPool->getMetadata(
$entityType);
105 $connection = $this->resourceConnection->getConnectionByName($metadata->getEntityConnectionName());
108 $this->eventManager->dispatch(
109 'entity_manager_delete_before',
115 $this->eventManager->dispatchEntityEvent(
$entityType,
'delete_before', [
'entity' =>
$entity]);
119 $this->eventManager->dispatchEntityEvent(
$entityType,
'delete_after', [
'entity' =>
$entity]);
120 $this->eventManager->dispatch(
121 'entity_manager_delete_after',
127 $this->transactionManager->commit();
128 }
catch (\Exception $e) {
129 $this->transactionManager->rollBack();
__construct(MetadataPool $metadataPool, TypeResolver $typeResolver, ResourceConnection $resourceConnection, EventManager $eventManager, TransactionManagerInterface $transactionManager, DeleteMain $deleteMain, DeleteAttributes $deleteAttributes, DeleteExtensions $deleteExtensions)
execute($entity, $arguments=[])