/** * @param PersisterObjectInterface $object * @param array $data * * @return Container * * @throws \Exception */ public function update(PersisterObjectInterface $object, array $data = array()) { $module = $object->getModule(); $moduleManager = $this->moduleManager->setModule($module); $container = $this->loadModel($module, $object->getContext(), $object); $container->setExpireTemporaryDate(null); $container->setDeleted(null); $object = $moduleManager->save($container, $data); $event = new EavPersisterEvent(); $event->setData($data); $event->setContainer($object); $event->setModule($module); $event->setOptionalData($this->optionalData); $this->eventDispatcher->dispatch(EavPersisterEvents::EAV_PERSISTER_UPDATE, $event); }