Common/EventListener/AbstractSaleListener.php
public function onContentChange(ResourceEventInterface $event)
    {
        $sale = $this->getSaleFromEvent($event);

        if ($this->persistenceHelper->isScheduledForRemove($sale)) {
            $event->stopPropagation();

            return;
        }

        $this->handleContentChange($sale);

        // Reflect content change on update timestamp
        $sale->setUpdatedAt(new\DateTime());

        $this->persistenceHelper->persistAndRecompute($sale, false);
    }
public function onContentChange(ResourceEventInterface $event)
    {
        $sale = $this->getSaleFromEvent($event);

        if ($this->persistenceHelper->isScheduledForRemove($sale)) {
            $event->stopPropagation();

            return;
        }

        $this->handleContentChange($sale);

        // Reflect content change on update timestamp
        $sale->setUpdatedAt(new\DateTime());

        $this->persistenceHelper->persistAndRecompute($sale, false);
    }
Content (item/adjustment/payment/shipment/invoice) change event handler.

@param ResourceEventInterface $event

@throws \Ekyna\Component\Commerce\Exception\CommerceExceptionInterface