src/Entity/Person.php line 11

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\Common\Collections\Collection;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use App\Entity\Title;
  7. class Person {
  8.     /**
  9.      * @var integer
  10.      */
  11.     private $id;
  12.     /**
  13.      * @var string
  14.      */
  15.     private $firstname;
  16.     /**
  17.      * @var string
  18.      */
  19.     private $lastname;
  20.     /**
  21.      * @var integer
  22.      */
  23.     private $sex;
  24.     /**
  25.      * @var \DateTime
  26.      */
  27.     private $birthday;
  28.     /**
  29.      * @var \Doctrine\Common\Collections\Collection
  30.      */
  31.     private $titles;
  32.     /**
  33.      * Constructor
  34.      */
  35.     public function __construct() {
  36.         $this->titles = new \Doctrine\Common\Collections\ArrayCollection();
  37.     }
  38.     /**
  39.      * Get id
  40.      *
  41.      * @return integer
  42.      */
  43.     public function getId() {
  44.         return $this->id;
  45.     }
  46.     /**
  47.      * Set firstname
  48.      *
  49.      * @param string $firstname
  50.      *
  51.      * @return Person
  52.      */
  53.     public function setFirstname($firstname) {
  54.         $this->firstname $firstname;
  55.         return $this;
  56.     }
  57.     /**
  58.      * Get firstname
  59.      *
  60.      * @return string
  61.      */
  62.     public function getFirstname() {
  63.         return $this->firstname;
  64.     }
  65.     /**
  66.      * Set lastname
  67.      *
  68.      * @param string $lastname
  69.      *
  70.      * @return Person
  71.      */
  72.     public function setLastname($lastname) {
  73.         $this->lastname $lastname;
  74.         return $this;
  75.     }
  76.     /**
  77.      * Get lastname
  78.      *
  79.      * @return string
  80.      */
  81.     public function getLastname() {
  82.         return $this->lastname;
  83.     }
  84.     /**
  85.      * Set sex
  86.      *
  87.      * @param integer $sex
  88.      *
  89.      * @return Person
  90.      */
  91.     public function setSex($sex) {
  92.         $this->sex $sex;
  93.         return $this;
  94.     }
  95.     /**
  96.      * Get sex
  97.      *
  98.      * @return integer
  99.      */
  100.     public function getSex() {
  101.         return $this->sex;
  102.     }
  103.     /**
  104.      * Set birthday
  105.      *
  106.      * @param \DateTime $birthday
  107.      *
  108.      * @return Person
  109.      */
  110.     public function setBirthday($birthday) {
  111.         $this->birthday $birthday;
  112.         return $this;
  113.     }
  114.     /**
  115.      * Get birthday
  116.      *
  117.      * @return \DateTime
  118.      */
  119.     public function getBirthday() {
  120.         return $this->birthday;
  121.     }
  122.     /**
  123.      * Add title
  124.      *
  125.      * @param \App\Entity\Title $title
  126.      *
  127.      * @return Person
  128.      */
  129.     public function addTitle(\App\Entity\Title $title) {
  130.         $this->titles[] = $title;
  131.         return $this;
  132.     }
  133.     /**
  134.      * Remove title
  135.      *
  136.      * @param \App\Entity\Title $title
  137.      */
  138.     public function removeTitle(\App\Entity\Title $title) {
  139.         $this->titles->removeElement($title);
  140.     }
  141.     /**
  142.      * Get titles
  143.      *
  144.      * @return \Doctrine\Common\Collections\Collection
  145.      */
  146.     public function getTitles() {
  147.         return $this->titles;
  148.     }
  149.     private function getStringTitlesHonor() {
  150.         $strTitles '';
  151.         /* @var $title Title */
  152.         foreach ($this->titles as $title) {
  153.             if ($title->getTitleType()->getId() == 3) {
  154.                 $strTitles $strTitles ' ' $title->getShortName();
  155.             }
  156.         }
  157.         return $strTitles;
  158.     }
  159.     private function getStringTitlesPre() {
  160.         $strTitles '';
  161.         /* @var $title Title */
  162.         foreach ($this->titles as $title) {
  163.             if ($title->getTitleType()->getId() == 1) {
  164.                 $strTitles $strTitles ' ' $title->getShortName();
  165.             }
  166.         }
  167.         return $strTitles;
  168.     }
  169.     private function getStringTitlesPost() {
  170.         $strTitles '';
  171.         /* @var $title Title */
  172.         foreach ($this->titles as $title) {
  173.             if ($title->getTitleType()->getId() == 2) {
  174.                 $strTitles $strTitles ' ' $title->getShortName();
  175.             }
  176.         }
  177.         return $strTitles;
  178.     }
  179.     public function getName() {
  180.         return $this->firstname ' ' $this->lastname;
  181.     }
  182.     public function getFullName() {
  183.         $firstName $this->firstname;
  184.         $lastName $this->lastname;
  185.         $strTitlesHonor $this->getStringTitlesHonor();
  186.         $strTitlesPre $this->getStringTitlesPre();
  187.         $strTitlesPost $this->getStringTitlesPost();
  188.         return trim("$strTitlesHonor $strTitlesPre $firstName $lastName $strTitlesPost");
  189.     }
  190.     public function __toString() {
  191.         return $this->firstname ' ' $this->lastname;
  192.     }
  193. }