/**
  * Performs all processes to be performed after the order creation
  *
  * Flushes all loaded order and related entities.
  *
  * @param OrderLineOnCreatedEvent $event Event
  *
  * @return null
  */
 public function updateStock(OrderLineOnCreatedEvent $event)
 {
     $purchasable = $event->getCartLine()->getPurchasable();
     $stock = $purchasable->getStock();
     if ($stock === ElcodiProductStock::INFINITE_STOCK) {
         return null;
     }
     $quantityPurchased = $event->getCartLine()->getQuantity();
     $newStock = $stock - $quantityPurchased;
     $newStock = max($newStock, 0);
     $purchasable->setStock($newStock);
     $this->flushPurchasable($purchasable);
 }
 /**
  * Performs all processes to be performed after the order creation
  *
  * Flushes all loaded order and related entities.
  *
  * @param OrderLineOnCreatedEvent $event Event
  */
 public function updatePurchasableStockByCartLine(OrderLineOnCreatedEvent $event)
 {
     $this->cartLineStockUpdater->updatePurchasableStockByCartLine($event->getCartLine());
 }