/**
  * Update transaction with HTML representation of txn_id
  *
  * @param EventObserver $observer
  * @return void
  */
 public function execute(EventObserver $observer)
 {
     /** @var \Magento\Sales\Model\Order\Payment\Transaction $transaction */
     $transaction = $observer->getDataObject();
     $order = $transaction->getOrder();
     $payment = $order->getPayment();
     $methodInstance = $payment->getMethodInstance();
     $paymentCode = $methodInstance->getCode();
     $transactionLink = $this->paypalData->getHtmlTransactionId($paymentCode, $transaction->getTxnId());
     $transaction->setData('html_txn_id', $transactionLink);
 }
 /**
  * Handles synchronous removing of the entity from
  * corresponding grid on certain events.
  *
  * Used in the next events:
  *
  *  - sales_order_delete_after
  *  - sales_order_invoice_delete_after
  *  - sales_order_shipment_delete_after
  *  - sales_order_creditmemo_delete_after
  *
  * @param \Magento\Framework\Event\Observer $observer
  * @return void
  */
 public function syncRemove(\Magento\Framework\Event\Observer $observer)
 {
     $this->entityGrid->purge($observer->getDataObject()->getId());
 }
 /**
  * Save time stamp of last change
  *
  * @param EventObserver $event
  * @return void
  */
 public function saveChangeTime($event)
 {
     /** @var $theme \Magento\Theme\Model\Theme|null */
     $theme = $event->getTheme() ?: $event->getDataObject()->getTheme();
     /** @var $change \Magento\DesignEditor\Model\Theme\Change */
     $change = $this->objectManager->create('Magento\\DesignEditor\\Model\\Theme\\Change');
     if ($theme && $theme->getId()) {
         $change->loadByThemeId($theme->getId());
         $change->setThemeId($theme->getId())->setChangeTime(null);
         $change->save();
     }
 }