← Back
Editing: ControlTemplateAssigner.php
<?php namespace App\Service\ControlTemplate; use App\Entity\Agency; use App\Entity\ControlTemplate; use App\Entity\Organization; use App\Entity\User; use Doctrine\ORM\EntityManagerInterface; final class ControlTemplateAssigner { public function __construct(private readonly EntityManagerInterface $entityManager) { } public function assignToSector(ControlTemplate $controlTemplate, User $manager): void { foreach ($manager->getManagerAddresses() as $address) { if (!$address->getControlTemplates()->contains($controlTemplate)) { $address->addControlTemplate($controlTemplate); $this->entityManager->persist($address); } } $this->entityManager->flush(); } public function assignToAgency(ControlTemplate $controlTemplate, Agency $agency): void { foreach ($agency->getAdresses() as $address) { if (!$address->getControlTemplates()->contains($controlTemplate)) { $address->addControlTemplate($controlTemplate); $this->entityManager->persist($address); } } $this->entityManager->flush(); } public function assignToOrganization(ControlTemplate $controlTemplate, Organization $organization): void { foreach ($organization->getAgencies() as $agency) { $this->assignToAgency($controlTemplate, $agency); } } }
Save File
Cancel