src/EventListener/Establishment/EstablishmentStaff/EstablishmentStaffDeletedListener.php line 17

Open in your IDE?
  1. <?php
  2. namespace App\EventListener\Establishment\EstablishmentStaff;
  3. use App\Entity\Establishment\EstablishmentDiplomaStaff;
  4. use App\Event\Establishment\EstablishmentStaff\EstablishmentStaffDeletedEvent;
  5. use App\Repository\EstablishmentDiplomaStaffRepository;
  6. use DateTime;
  7. class EstablishmentStaffDeletedListener
  8. {
  9.     public function __construct(
  10.         Private EstablishmentDiplomaStaffRepository $establishmentDiplomaStaffRepository,
  11.     )
  12.     {
  13.     }
  14.     public function onEstablishmentStaffDeleted(EstablishmentStaffDeletedEvent $event): void
  15.     {
  16.         $establishmentStaff $event->getEstablishmentStaff();
  17.         $getEstablishmentDiplomaStaffCollection $this->establishmentDiplomaStaffRepository->getEstablishmentDiplomaStaffAfterDeleteEstablishmentStaff($establishmentStaff->getEstablishment(), $establishmentStaff->getStaff()->getUuidAsBinary());
  18.         foreach ($getEstablishmentDiplomaStaffCollection as $establishmentDiplomaStaff) {
  19.             if($establishmentDiplomaStaff instanceof EstablishmentDiplomaStaff) {
  20.                 $establishmentDiplomaStaff->setDeletedAt(new DateTime());
  21.             }
  22.         }
  23.     }
  24. }