src/App/EventListener/Central/ProductListener.php line 21

Open in your IDE?
  1. <?php
  2. namespace App\EventListener\Central;
  3. use App\Entity\Central\ArticleNumber\EuropeanArticleNumber;
  4. use App\Entity\Central\Product\Product;
  5. use App\EventListener\GenericEvent;
  6. use App\Service\AppManager;
  7. use Symfony\Component\HttpFoundation\Response;
  8. class ProductListener
  9. {
  10.     private AppManager $appManager;
  11.     public function __construct(AppManager $appManager)
  12.     {
  13.         $this->appManager $appManager;
  14.     }
  15.     public function europeanArticleNumber(GenericEvent $genericEvent)
  16.     {
  17.         // TODO
  18.         return;
  19.         $product $genericEvent->getSubject();
  20.         if (!$product instanceof Product) {
  21.             return;
  22.         }
  23.         if ($product->getId() === null) {
  24.             $europeanArticleNumberRepository $this->appManager->getRepository(EuropeanArticleNumber::class);
  25.             foreach ($product->getEuropeanArticleNumbers() as $europeanArticleNumber) {
  26.                 $existEuropeanArticleNumber $europeanArticleNumberRepository->findByNumber($europeanArticleNumber->getNumber());
  27.                 if ($existEuropeanArticleNumber instanceof EuropeanArticleNumber) {
  28.                     $genericEvent->setResponse(new Response($existEuropeanArticleNumber->getProduct()->getId(), 201));
  29.                     break;
  30.                 }
  31.             }
  32.         }
  33.     }
  34. }