src/EventListener/EventListener.php line 53

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use App\Entity\Report\Report;
  4. use App\Event\CreateReportEvent;
  5. use App\Event\EditParamEvent;
  6. use App\Event\ImageEvent;
  7. use App\Method\Api\FireStore\FireBaseReportUpdater;
  8. use App\Method\Api\Storage\ImageSaveStorage;
  9. use App\Method\Api\Storage\ParamSaveImageStorage;
  10. use App\Method\Api\Storage\ReportSaveImageStorage;
  11. use App\Method\Api\Telegram\TelegramSender;
  12. use App\Synchronization\ReportSynchronization;
  13. use Doctrine\ORM\EntityManagerInterface;
  14. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  15. class EventListener implements EventSubscriberInterface
  16. {
  17.     private $em;
  18.     private $baseReportUpdater;
  19.     private $telegramSender;
  20.     private $storage;
  21.     private $paramStorage;
  22.     private $imageSaveStorage;
  23.     public function __construct(
  24.         EntityManagerInterface $em,
  25.         FireBaseReportUpdater  $baseReportUpdater,
  26.         TelegramSender         $telegramSender,
  27.         ReportSaveImageStorage $storage,
  28.         ImageSaveStorage $imageSaveStorage,
  29.         ParamSaveImageStorage $paramStorage
  30.     )
  31.     {
  32.         $this->em $em;
  33.         $this->baseReportUpdater $baseReportUpdater;
  34.         $this->telegramSender $telegramSender;
  35.         $this->imageSaveStorage $imageSaveStorage;
  36.         $this->storage $storage;
  37.         $this->paramStorage $paramStorage;
  38.     }
  39.     public static function getSubscribedEvents()
  40.     {
  41.         return [
  42.             CreateReportEvent::NAME => 'onCreateReportEvent',
  43.             EditParamEvent::NAME => 'onEditParamEvent',
  44.             ImageEvent::NAME => 'onImageEvent'
  45.         ];
  46.     }
  47.     public function onEditParamEvent(EditParamEvent $event)
  48.     {
  49.         /** @var Report $report */
  50.         $param $event->getParam();
  51.         try {
  52.             $send $this->paramStorage->save($param);
  53.         } catch (\Exception $e) { }
  54.     }
  55.     public function onImageEvent(ImageEvent $event)
  56.     {
  57.         $image $event->getImage();
  58.         try {
  59.             $send $this->imageSaveStorage->save($image);
  60.         } catch (\Exception $e) { }
  61.     }
  62.     public function onCreateReportEvent(CreateReportEvent $event)
  63.     {
  64.         /** @var Report $report */
  65.         $report $event->getReport();
  66.         try {
  67.             $this->storage->save($report);
  68.         } catch (\Exception $e) {
  69.         }
  70.         try {
  71.             $send $this->telegramSender->send($report);
  72.         } catch (\Exception $e) {
  73.         }
  74. //        try {
  75. //            $this->baseReportUpdater->saveNewReport($report);
  76. //        } catch (\Exception $e) {
  77. //
  78. //        }
  79. //        try {
  80. //            $this->baseReportUpdater->updateIdsForAllUser($report);
  81. //        } catch (\Exception $e) {
  82. //
  83. //        }
  84.     }
  85. }