/** * @param PersisterObjectInterface $object * * @return PersisterObjectInterface */ public function delete(PersisterObjectInterface $object) { $object->setDeleted(new \DateTime('now')); $this->objectManager->persist($object); $this->objectManager->flush(); $event = new EavPersisterEvent(); $event->setContainer($object); $event->setModule($object->getModule()); $event->setOptionalData($this->optionalData); $this->eventDispatcher->dispatch(EavPersisterEvents::EAV_PERSISTER_DELETE, $event); return $object; }