private function OrderEventSubscriber::runTransactionEvent in Commerce Stock 8
Run the transaction event.
Parameters
\Drupal\commerce_stock\Plugin\Commerce\StockEventType\StockEventTypeInterface $event_type: The stock event type.
\Drupal\commerce\Context $context: The context containing the customer & store.
\Drupal\commerce\PurchasableEntityInterface $entity: The purchasable entity.
int $quantity: The quantity.
\Drupal\commerce_stock\StockLocationInterface $location: The stock location.
int $transaction_type_id: The transaction type ID.
\Drupal\commerce_order\Entity\Order $order: The original order the transaction belongs to.
Return value
int Return the ID of the transaction or FALSE if no transaction created.
6 calls to OrderEventSubscriber::runTransactionEvent()
- OrderEventSubscriber::onOrderCancel in src/
EventSubscriber/ OrderEventSubscriber.php - Performs a stock transaction for an order Cancel event.
- OrderEventSubscriber::onOrderDelete in src/
EventSubscriber/ OrderEventSubscriber.php - Performs a stock transaction on an order delete event.
- OrderEventSubscriber::onOrderItemDelete in src/
EventSubscriber/ OrderEventSubscriber.php - Performs a stock transaction when an order item is deleted.
- OrderEventSubscriber::onOrderItemUpdate in src/
EventSubscriber/ OrderEventSubscriber.php - Performs a stock transaction on an order item update.
- OrderEventSubscriber::onOrderPlace in src/
EventSubscriber/ OrderEventSubscriber.php - Creates a stock transaction when an order is placed.
File
- src/
EventSubscriber/ OrderEventSubscriber.php, line 346
Class
- OrderEventSubscriber
- Performs stock transactions on order and order item events.
Namespace
Drupal\commerce_stock\EventSubscriberCode
private function runTransactionEvent(StockEventTypeInterface $event_type, Context $context, PurchasableEntityInterface $entity, $quantity, StockLocationInterface $location, $transaction_type_id, Order $order) {
$data['message'] = $event_type
->getDefaultMessage();
$metadata = [
'related_oid' => $order
->id(),
'related_uid' => $order
->getCustomerId(),
'data' => $data,
];
$event_type_id = CoreStockEvents::mapStockEventIds($event_type
->getPluginId());
return $this->eventsManager
->createInstance('core_stock_events')
->stockEvent($context, $entity, $event_type_id, $quantity, $location, $transaction_type_id, $metadata);
}