Utils.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Service\Network;
  4. use App\Entity\Network\NetworkOrganization;
  5. use App\Entity\Organization\Organization;
  6. use App\Enum\Network\NetworkEnum;
  7. use App\Tests\Service\Network\UtilsTest;
  8. /**
  9. * Class Utils : service rassemblant des fonctions d'aides pour les questions se rapportant au réseau
  10. * @package App\Service\Network
  11. */
  12. class Utils
  13. {
  14. public function __construct()
  15. {
  16. }
  17. /**
  18. * Test si l'organisation appartient au réseau de la CMF
  19. * @param Organization $organization
  20. * @return bool
  21. * @see UtilsTest::testIsCmf()
  22. */
  23. public function isCMF(Organization $organization): bool {
  24. return $this->isOrganizationBelongToTheNetwork($organization, NetworkEnum::CMF());
  25. }
  26. /**
  27. * Test si l'organisation appartient à un réseau
  28. * @param Organization $organization
  29. * @param NetworkEnum $network id du réseau
  30. * @return boolean
  31. * @see UtilsTest::testIsOrganizationBelongToTheNetwork()
  32. */
  33. public function isOrganizationBelongToTheNetwork(Organization $organization, NetworkEnum $network): bool {
  34. $networksOrganizations = $organization->getNetworkOrganizations();
  35. /** @var NetworkOrganization $networksOrganization */
  36. foreach ($networksOrganizations as $networksOrganization) {
  37. if ($networksOrganization->getNetwork()->getId() === $network->getValue()) {
  38. return true;
  39. }
  40. }
  41. return false;
  42. }
  43. }