src/Aqarmap/Bundle/ListingBundle/EventListener/ListingRejectedListener.php line 25

Open in your IDE?
  1. <?php
  2. namespace Aqarmap\Bundle\ListingBundle\EventListener;
  3. use Aqarmap\Bundle\ListingBundle\Event\ListingEvent;
  4. use Aqarmap\Bundle\ListingBundle\Service\ListingManager;
  5. use Aqarmap\Bundle\ListingBundle\Service\ListingRateService;
  6. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  7. class ListingRejectedListener implements EventSubscriberInterface
  8. {
  9.     /** @var ListingRateService */
  10.     private $listingRateService;
  11.     /**
  12.      * @var ListingManager
  13.      */
  14.     private $listingManager;
  15.     public function __construct(ListingRateService $listingRateServiceListingManager $listingManager)
  16.     {
  17.         $this->listingRateService $listingRateService;
  18.         $this->listingManager $listingManager;
  19.     }
  20.     public function onRejection(ListingEvent $event): void
  21.     {
  22.         $listing $event->getListing();
  23.         if ($listing->getDeletedAt()) {
  24.             $listing->setDeletedAt(null);
  25.         }
  26.         $this->listingRateService->markRateStatusRejected($listing);
  27.         $this->listingManager->updateRejectedAt($listing, new \DateTime('now'));
  28.     }
  29.     /**
  30.      * {@inheri tdoc}.
  31.      */
  32.     public static function getSubscribedEvents()
  33.     {
  34.         return [
  35.             'aqarmap.listing_got_rejected' => 'onRejection',
  36.         ];
  37.     }
  38. }