src/EventListener/SolutionsFactoryApplicantEventListener.php line 24

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use App\Event\ApplicantEvent;
  4. use App\Writer\SolutionsFactoryWriter;
  5. use Exception;
  6. use Flagception\Manager\FeatureManagerInterface;
  7. class SolutionsFactoryApplicantEventListener
  8. {
  9.     private FeatureManagerInterface $featureManager;
  10.     private SolutionsFactoryWriter $solutionsFactoryWriter;
  11.     public function __construct(FeatureManagerInterface $featureManagerSolutionsFactoryWriter $solutionsFactoryWriter)
  12.     {
  13.         $this->featureManager $featureManager;
  14.         $this->solutionsFactoryWriter $solutionsFactoryWriter;
  15.     }
  16.     /**
  17.      * @throws Exception
  18.      */
  19.     public function applicantSubmit(ApplicantEvent $applicantEvent): void
  20.     {
  21.         if (!$this->featureManager->isActive(FeatureFlagListener::FEATURE_SOLUTIONS_FACTORY)) {
  22.             return;
  23.         }
  24.         $cvFile null;
  25.         if (!empty($applicantEvent->getForm()['CVFile'])) {
  26.             $cvFile $applicantEvent->getForm()['CVFile']->getData();
  27.         }
  28.         $motivationFile null;
  29.         if (!empty($applicantEvent->getForm()['motivationFile'])) {
  30.             $motivationFile $applicantEvent->getForm()['motivationFile']->getData();
  31.         }
  32.         $this->solutionsFactoryWriter->createApplicant($applicantEvent->getApplicant(), $cvFile$motivationFile);
  33.     }
  34. }