Common/EventListener/AbstractAdjustmentListener.php
protected function scheduleSaleContentChangeEvent(Model\AdjustmentInterface $adjustment)
    {
        if ($adjustment instanceof Model\SaleAdjustmentInterface) {
            if (null === $sale = $this->getSaleFromAdjustment($adjustment)) {
                // Sale may be scheduled for delete.
                return;
                //throw new RuntimeException("Failed to retrieve the sale.");
            }
        } elseif ($adjustment instanceof Model\SaleItemAdjustmentInterface) {
            if (null === $item = $this->getItemFromAdjustment($adjustment)) {
                // Sale item may be scheduled for delete.
                return;
                //throw new RuntimeException("Failed to retrieve the sale item.");
            }
            if (null === $sale = $this->getSaleFromItem($item)) {
                // Sale may be scheduled for delete.
                return;
                //throw new RuntimeException("Failed to retrieve the sale.");
            }
        } else {
            throw new InvalidArgumentException("Unexpected adjustment type.");
        }

        $this->persistenceHelper->scheduleEvent($this->getSaleChangeEvent(), $sale);
    }
protected function scheduleSaleContentChangeEvent(Model\AdjustmentInterface $adjustment)
    {
        if ($adjustment instanceof Model\SaleAdjustmentInterface) {
            if (null === $sale = $this->getSaleFromAdjustment($adjustment)) {
                // Sale may be scheduled for delete.
                return;
                //throw new RuntimeException("Failed to retrieve the sale.");
            }
        } elseif ($adjustment instanceof Model\SaleItemAdjustmentInterface) {
            if (null === $item = $this->getItemFromAdjustment($adjustment)) {
                // Sale item may be scheduled for delete.
                return;
                //throw new RuntimeException("Failed to retrieve the sale item.");
            }
            if (null === $sale = $this->getSaleFromItem($item)) {
                // Sale may be scheduled for delete.
                return;
                //throw new RuntimeException("Failed to retrieve the sale.");
            }
        } else {
            throw new InvalidArgumentException("Unexpected adjustment type.");
        }

        $this->persistenceHelper->scheduleEvent($this->getSaleChangeEvent(), $sale);
    }
Dispatches the sale content change event.

@param Model\AdjustmentInterface $adjustment

@throws \Ekyna\Component\Resource\Exception\ResourceExceptionInterface