AddressPostalType.php 1014 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace AppBundle\Entity\Traits;
  3. use AppBundle\Entity\Person\Person;
  4. use AppBundle\Enum\Core\AddressPostalTypeEnum;
  5. use AppBundle\Entity\Organization\Organization;
  6. /**
  7. * Description of AddressPostalType
  8. *
  9. * @author Sébastien Hupin <sebastien.hupin at gmail.com>
  10. */
  11. trait AddressPostalType
  12. {
  13. /**
  14. *
  15. * @param string $type
  16. * @return \AppBundle\Entity\Core\AddressPostal or null
  17. */
  18. public function getAddressPostalForType($type)
  19. {
  20. $addressPostalTypeEnum = new AddressPostalTypeEnum($type);
  21. if ($this instanceof Organization)
  22. $addressPostals = $this->getOrganizationAddressPostal();
  23. else if ($this instanceof Person)
  24. $addressPostals = $this->getPersonAddressPostal();
  25. foreach ($addressPostals as $addressPostal) {
  26. if ($addressPostalTypeEnum->getValue() === $addressPostal->getType()) {
  27. return $addressPostal->getAddressPostal();
  28. }
  29. }
  30. return null;
  31. }
  32. }
  33. ?>