custom/plugins/WbfkExtensions/src/Documents/DigitalInvoiceLineItemSubscriber.php line 25

Open in your IDE?
  1. <?php
  2. namespace WbfkExtensions\Documents;
  3. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  4. use Wbfk\DigitalInvoice\Event\DigitalInvoiceShopwareLineItemEvent;
  5. use WbfkExtensions\Core\Checkout\WbfkOrderLineItemExtension\WbfkOrderLineItemExtensionEntity;
  6. class DigitalInvoiceLineItemSubscriber implements EventSubscriberInterface
  7. {
  8.     public function __construct()
  9.     {
  10.     }
  11.     public static function getSubscribedEvents(): array
  12.     {
  13.         return [
  14.             DigitalInvoiceShopwareLineItemEvent::class => 'generatedDigitalInvoiceLineItem',
  15.         ];
  16.     }
  17.     public function generatedDigitalInvoiceLineItem(DigitalInvoiceShopwareLineItemEvent $event): void
  18.     {
  19.         $event->orderLineItem->getExtension('wbfkOrderLineItemExtension');
  20.         /** @var WbfkOrderLineItemExtensionEntity $wbfkOrderLineItemExtension */
  21.         $wbfkOrderLineItemExtension $event->orderLineItem->getExtension('wbfkOrderLineItemExtension');
  22.         if ($wbfkOrderLineItemExtension) {
  23.             // Serial Number
  24.             $serialNumbers $wbfkOrderLineItemExtension->getSerialNumbers();
  25.             if ($serialNumbers && count($serialNumbers) > 0) {
  26.                 foreach ($event->documentLineItems as $documentLineItem) {
  27.                     $documentLineItem->specifiedTradeProduct->sellerAssignedID join(', '$serialNumbers);
  28.                 }
  29.             }
  30.         }
  31.     }
  32. }