src/Entity/Client.php line 16

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Entity;
  4. use DateTime;
  5. use DateTimeInterface;
  6. use Doctrine\Common\Collections\ArrayCollection;
  7. use Doctrine\Common\Collections\Collection;
  8. use Doctrine\ORM\Mapping as ORM;
  9. /**
  10.  * @ORM\Entity
  11.  * @ORM\Table(name="client")
  12.  */
  13. class Client
  14. {
  15.     /**
  16.      * @ORM\Id
  17.      * @ORM\Column(type="integer", options={"unsigned":true})
  18.      * @ORM\GeneratedValue(strategy="AUTO")
  19.      */
  20.     protected $id;
  21.     /**
  22.      * @ORM\Column(type="string", length=255, nullable=true)
  23.      */
  24.     private ?string $phone null;
  25.     /**
  26.      * @ORM\Column(type="string", length=255, nullable=true)
  27.      */
  28.     private ?string $password null;
  29.     /**
  30.      * @ORM\Column(type="string", length=30)
  31.      */
  32.     private ?string $userNumber null;
  33.     /**
  34.      * @ORM\Column(type="string", length=60, nullable=true)
  35.      */
  36.     private ?string $firstName null;
  37.     /**
  38.      * @ORM\Column(type="string", length=60, nullable=true)
  39.      */
  40.     private ?string $lastName null;
  41.     /**
  42.      * @ORM\Column(type="string", length=60, nullable=true)
  43.      */
  44.     private ?string $middleName null;
  45.     /**
  46.      * @ORM\Column(type="datetime", nullable=true)
  47.      */
  48.     private ?DateTime $dateOfBirth null;
  49.     /**
  50.      * @ORM\Column(type="string", length=30, nullable=true)
  51.      */
  52.     private ?string $passportNumber null;
  53.     /**
  54.      * @ORM\Column(type="string", length=60, nullable=true)
  55.      */
  56.     private ?string $passportId null;
  57.     /**
  58.      * @ORM\Column(type="datetime", nullable=true)
  59.      */
  60.     private ?DateTime $passportIssueDate null;
  61.     /**
  62.      * @ORM\Column(type="string", length=255, nullable=true)
  63.      */
  64.     private ?string $passportIssuingAuthority null;
  65.     /**
  66.      * @ORM\Column(type="string", length=255, nullable=true)
  67.      */
  68.     private ?string $registrationAddress null;
  69.     /**
  70.      * @ORM\Column(type="string", length=30, nullable=true)
  71.      */
  72.     private ?string $driversLicenseNumber null;
  73.     /**
  74.      * @ORM\Column(type="datetime", nullable=true)
  75.      */
  76.     private ?DateTime $driversLicenseDate null;
  77.     /**
  78.      * @ORM\Column(type="datetime", nullable=true)
  79.      */
  80.     private ?DateTime $dateSigningContract null;
  81.     /**
  82.      * @ORM\OneToMany(targetEntity=Reserve::class, mappedBy="client")
  83.      */
  84.     private Collection $reserves;
  85.     /**
  86.      * @ORM\Column(type="text", nullable=true)
  87.      */
  88.     private $notes;
  89.     /**
  90.      * @ORM\ManyToOne(targetEntity=AdmUser::class, inversedBy="reserves")
  91.      * @ORM\JoinColumn(nullable=true)
  92.      */
  93.     private ?AdmUser $admin;
  94.     /**
  95.      * @ORM\Column(type="datetime", nullable=true)
  96.      */
  97.     private DateTimeInterface $createdAt;
  98.     public function __construct()
  99.     {
  100.         $this->reserves = new ArrayCollection();
  101.         $this->createdAt = new DateTime();
  102.     }
  103.     public function getUserNumber(): ?string
  104.     {
  105.         return $this->userNumber;
  106.     }
  107.     public function setUserNumber(?string $userNumber): void
  108.     {
  109.         $this->userNumber $userNumber;
  110.     }
  111.     public function getPhone(): ?string
  112.     {
  113.         return $this->phone;
  114.     }
  115.     public function setPhone(?string $phone): void
  116.     {
  117.         $this->phone $phone;
  118.     }
  119.     public function getPassword(): ?string
  120.     {
  121.         return $this->password;
  122.     }
  123.     public function setPassword(?string $password): void
  124.     {
  125.         $this->password $password;
  126.     }
  127.     public function getFirstName(): ?string
  128.     {
  129.         return $this->firstName;
  130.     }
  131.     public function setFirstName(?string $firstName): void
  132.     {
  133.         $this->firstName $firstName;
  134.     }
  135.     public function getLastName(): ?string
  136.     {
  137.         return $this->lastName;
  138.     }
  139.     public function setLastName(?string $lastName): void
  140.     {
  141.         $this->lastName $lastName;
  142.     }
  143.     public function getMiddleName(): ?string
  144.     {
  145.         return $this->middleName;
  146.     }
  147.     public function setMiddleName(?string $middleName): void
  148.     {
  149.         $this->middleName $middleName;
  150.     }
  151.     public function getReserves(): Collection
  152.     {
  153.         return $this->reserves;
  154.     }
  155.     public function setReserves(Collection $reserves): void
  156.     {
  157.         $this->reserves $reserves;
  158.     }
  159.     public function __toString(): string
  160.     {
  161.         return sprintf(
  162.             '(%s) %s %s %s (%s)',
  163.             $this->getUserNumber(),
  164.             $this->getFirstName(),
  165.             $this->getLastName(),
  166.             $this->getMiddleName(),
  167.             $this->getPhone()
  168.         );
  169.     }
  170.     public function getFio(): string
  171.     {
  172.         return sprintf('%s %s %s'$this->getFirstName(), $this->getLastName(), $this->getMiddleName());
  173.     }
  174.     public function getPassportIssueDate(): ?DateTime
  175.     {
  176.         return $this->passportIssueDate;
  177.     }
  178.     public function setPassportIssueDate(?DateTime $passportIssueDate): void
  179.     {
  180.         $this->passportIssueDate $passportIssueDate;
  181.     }
  182.     public function getDriversLicenseDate(): ?DateTime
  183.     {
  184.         return $this->driversLicenseDate;
  185.     }
  186.     public function setDriversLicenseDate(?DateTime $driversLicenseDate): void
  187.     {
  188.         $this->driversLicenseDate $driversLicenseDate;
  189.     }
  190.     public function getPassportNumber(): ?string
  191.     {
  192.         return $this->passportNumber;
  193.     }
  194.     public function setPassportNumber(?string $passportNumber): void
  195.     {
  196.         $this->passportNumber $passportNumber;
  197.     }
  198.     public function getPassportId(): ?string
  199.     {
  200.         return $this->passportId;
  201.     }
  202.     public function setPassportId(?string $passportId): void
  203.     {
  204.         $this->passportId $passportId;
  205.     }
  206.     public function getDateSigningContract(): ?DateTime
  207.     {
  208.         return $this->dateSigningContract;
  209.     }
  210.     public function setDateSigningContract(?DateTime $dateSigningContract): void
  211.     {
  212.         $this->dateSigningContract $dateSigningContract;
  213.     }
  214.     public function getPassportIssuingAuthority(): ?string
  215.     {
  216.         return $this->passportIssuingAuthority;
  217.     }
  218.     public function setPassportIssuingAuthority(?string $passportIssuingAuthority): void
  219.     {
  220.         $this->passportIssuingAuthority $passportIssuingAuthority;
  221.     }
  222.     public function getRegistrationAddress(): ?string
  223.     {
  224.         return $this->registrationAddress;
  225.     }
  226.     public function setRegistrationAddress(?string $registrationAddress): void
  227.     {
  228.         $this->registrationAddress $registrationAddress;
  229.     }
  230.     public function getDriversLicenseNumber(): ?string
  231.     {
  232.         return $this->driversLicenseNumber;
  233.     }
  234.     public function setDriversLicenseNumber(?string $driversLicenseNumber): void
  235.     {
  236.         $this->driversLicenseNumber $driversLicenseNumber;
  237.     }
  238.     public function getDateOfBirth(): ?DateTime
  239.     {
  240.         return $this->dateOfBirth;
  241.     }
  242.     public function setDateOfBirth(?DateTime $dateOfBirth): void
  243.     {
  244.         $this->dateOfBirth $dateOfBirth;
  245.     }
  246.     public function getId(): ?int
  247.     {
  248.         return $this->id;
  249.     }
  250.     public function getNotes(): ?string
  251.     {
  252.         return $this->notes;
  253.     }
  254.     public function setNotes(?string $notes): self
  255.     {
  256.         $this->notes $notes;
  257.         return $this;
  258.     }
  259.     public function getAdmin(): ?AdmUser
  260.     {
  261.         return $this->admin;
  262.     }
  263.     public function setAdmin(?AdmUser $admin): void
  264.     {
  265.         $this->admin $admin;
  266.     }
  267.     public function getCreatedAt(): DateTimeInterface
  268.     {
  269.         return $this->createdAt;
  270.     }
  271.     public function setCreatedAt(DateTimeInterface $createdAt): void
  272.     {
  273.         $this->createdAt $createdAt;
  274.     }
  275. }