src/Entity/CompanyVisaApplication.php line 25

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Entity\Common\SoftDeletableEntityTrait;
  4. use App\Entity\Common\StatefulEntityTrait;
  5. use App\Entity\Common\TimestampedEntityTrait;
  6. use Doctrine\Common\Collections\ArrayCollection;
  7. use Doctrine\ORM\Mapping\UniqueConstraint;
  8. use DateTime;
  9. use Doctrine\ORM\Mapping as ORM;
  10. use Gedmo\Mapping\Annotation as Gedmo;
  11. use Evence\Bundle\SoftDeleteableExtensionBundle\Mapping\Annotation as Evence;
  12. /**
  13.  * Class CompanyVisaApplication
  14.  *
  15.  * @ORM\Entity(repositoryClass="App\Repository\CompanyVisaApplicationRepository")
  16.  * @ORM\Table(indexes={
  17.  *     @ORM\Index(name="IDX_updated_at", columns={"updated_at"}),
  18.  *     @ORM\Index(name="IDX_deleted_at", columns={"deleted_at"}),
  19.  *     @ORM\Index(name="IDX_is_active", columns={"is_active"})
  20.  * })
  21.  * @Gedmo\SoftDeleteable(fieldName="deletedAt")
  22.  */
  23. class CompanyVisaApplication
  24. {
  25.     use SoftDeletableEntityTraitStatefulEntityTraitTimestampedEntityTrait;
  26.     public function __construct() {
  27.         $this->visaApplicationDocuments = new ArrayCollection();
  28.     }
  29.     /**
  30.      * @var integer
  31.      *
  32.      * @ORM\Id()
  33.      * @ORM\GeneratedValue
  34.      * @ORM\Column(type="integer")
  35.      */
  36.     private $id;
  37.     /**
  38.      * @ORM\ManyToOne(targetEntity="Company")
  39.      * @ORM\JoinColumn(name="company_id", referencedColumnName="id", onDelete="CASCADE")
  40.      */
  41.     private $company;
  42.     /**
  43.      * @var CompanyUser|null
  44.      *
  45.      * @ORM\ManyToOne(targetEntity="CompanyUser")
  46.      * @ORM\JoinColumn(name="user_id", referencedColumnName="id", onDelete="CASCADE",nullable=true)
  47.      */
  48.     private $user;
  49.     /**
  50.      * @var string
  51.      *
  52.      * @ORM\Column(length=100)
  53.      */
  54.     private $firstName;
  55.     /**
  56.      * @var string
  57.      *
  58.      * @ORM\Column(length=100)
  59.      */
  60.     private $lastName;
  61.     /**
  62.      * @var string
  63.      *
  64.      * @ORM\Column(length=100)
  65.      */
  66.     private $email;
  67.     /**
  68.      * @var string|null
  69.      *
  70.      * @ORM\Column(length=50,nullable=true)
  71.      */
  72.     private $phone;
  73.     /**
  74.      * @var string
  75.      *
  76.      * @ORM\Column(length=50)
  77.      */
  78.     private  $pasaportNumber;
  79.     /**
  80.      * @var DateTime|null
  81.      *
  82.      * @ORM\Column(type="datetime", nullable=true)
  83.      */
  84.     private $expireDate;
  85.     /**
  86.      * @var DateTime|null
  87.      *
  88.      * @ORM\Column(type="datetime", nullable=true)
  89.      */
  90.     private $issueDate;
  91.     /**
  92.      * @var DateTime|null
  93.      *
  94.      * @ORM\Column(type="datetime", nullable=true)
  95.      */
  96.     private $startDate;
  97.     /**
  98.      * @ORM\ManyToOne(targetEntity="VisaType")
  99.      * @ORM\JoinColumn(name="visa_type", referencedColumnName="id", onDelete="CASCADE")
  100.      */
  101.     private $visaType;
  102.     /**
  103.      * @ORM\ManyToOne(targetEntity="StaVisaStatus")
  104.      * @ORM\JoinColumn(name="visa_status", referencedColumnName="code", onDelete="CASCADE")
  105.      */
  106.     private $visaStatus;
  107.     /**
  108.      * @var string|null
  109.      *
  110.      * @ORM\Column(length=500,nullable=true)
  111.      */
  112.     private $remarks;
  113.     /**
  114.      * @var float
  115.      *
  116.      * @ORM\Column(type="decimal", precision=13, scale=4)
  117.      */
  118.     private $price=0;
  119.     /**
  120.      * @ORM\ManyToOne(targetEntity="StaCurrency")
  121.      * @ORM\JoinColumn(name="currency_code", referencedColumnName="code", onDelete="CASCADE")
  122.      */
  123.     private $currency;
  124.     /**
  125.      * @var float
  126.      *
  127.      * @ORM\Column(type="decimal", precision=13, scale=4,options={"default":0})
  128.      */
  129.     private $payment=0;
  130.     /**
  131.      * @ORM\OneToMany(targetEntity="CompanyVisaApplicationDocument", mappedBy="visaApplication")
  132.      */
  133.     private $visaApplicationDocuments;
  134.     /**
  135.      * @var string|null
  136.      *
  137.      * @ORM\Column(length=1,nullable=true)
  138.      */
  139.     private $gender;
  140.     /**
  141.      * @var LocationCountry|null
  142.      * @ORM\ManyToOne(targetEntity="LocationCountry")
  143.      * @ORM\JoinColumn(name="country_code", referencedColumnName="code", onDelete="CASCADE",nullable=true)
  144.      */
  145.     private $nationality;
  146.     /**
  147.      * @var DateTime|null
  148.      *
  149.      * @ORM\Column(type="datetime", nullable=true)
  150.      */
  151.     private $travelDate;
  152.     /**
  153.      * @var string|null
  154.      *
  155.      * @ORM\Column(length=500,nullable=true)
  156.      */
  157.     private $missingDocuments;
  158.     /**
  159.      * @var Insurance|null
  160.      *
  161.      * @ORM\ManyToOne(targetEntity="Insurance")
  162.      * @ORM\JoinColumn(name="insurance_id", referencedColumnName="id", onDelete="CASCADE",nullable=true)
  163.      */
  164.     private $insurance;
  165.     /**
  166.      * @return int
  167.      */
  168.     public function getId(): int
  169.     {
  170.         return $this->id;
  171.     }
  172.     /**
  173.      * @param int $id
  174.      */
  175.     public function setId(int $id): void
  176.     {
  177.         $this->id $id;
  178.     }
  179.     /**
  180.      * @return mixed
  181.      */
  182.     public function getCompany()
  183.     {
  184.         return $this->company;
  185.     }
  186.     /**
  187.      * @param mixed $company
  188.      */
  189.     public function setCompany($company): void
  190.     {
  191.         $this->company $company;
  192.     }
  193.     /**
  194.      * @return string
  195.      */
  196.     public function getFirstName(): string
  197.     {
  198.         return $this->firstName;
  199.     }
  200.     /**
  201.      * @param string $firstName
  202.      */
  203.     public function setFirstName(string $firstName): void
  204.     {
  205.         $this->firstName $firstName;
  206.     }
  207.     /**
  208.      * @return string
  209.      */
  210.     public function getLastName(): string
  211.     {
  212.         return $this->lastName;
  213.     }
  214.     /**
  215.      * @param string $lastName
  216.      */
  217.     public function setLastName(string $lastName): void
  218.     {
  219.         $this->lastName $lastName;
  220.     }
  221.     /**
  222.      * @return string
  223.      */
  224.     public function getEmail(): string
  225.     {
  226.         return $this->email;
  227.     }
  228.     /**
  229.      * @param string $email
  230.      */
  231.     public function setEmail(string $email): void
  232.     {
  233.         $this->email $email;
  234.     }
  235.     /**
  236.      * @return string|null
  237.      */
  238.     public function getPhone(): ?string
  239.     {
  240.         return $this->phone;
  241.     }
  242.     /**
  243.      * @param string|null $phone
  244.      */
  245.     public function setPhone(?string $phone): void
  246.     {
  247.         $this->phone $phone;
  248.     }
  249.     /**
  250.      * @return string
  251.      */
  252.     public function getPasaportNumber(): string
  253.     {
  254.         return $this->pasaportNumber;
  255.     }
  256.     /**
  257.      * @param string $pasaportNumber
  258.      */
  259.     public function setPasaportNumber(string $pasaportNumber): void
  260.     {
  261.         $this->pasaportNumber $pasaportNumber;
  262.     }
  263.     /**
  264.      * @return DateTime|null
  265.      */
  266.     public function getExpireDate(): ?DateTime
  267.     {
  268.         return $this->expireDate;
  269.     }
  270.     /**
  271.      * @param DateTime|null $expireDate
  272.      */
  273.     public function setExpireDate(?DateTime $expireDate): void
  274.     {
  275.         $this->expireDate $expireDate;
  276.     }
  277.     /**
  278.      * @return mixed
  279.      */
  280.     public function getVisaType()
  281.     {
  282.         return $this->visaType;
  283.     }
  284.     /**
  285.      * @param mixed $visaType
  286.      */
  287.     public function setVisaType($visaType): void
  288.     {
  289.         $this->visaType $visaType;
  290.     }
  291.     /**
  292.      * @return DateTime|null
  293.      */
  294.     public function getIssueDate(): ?DateTime
  295.     {
  296.         return $this->issueDate;
  297.     }
  298.     /**
  299.      * @param DateTime|null $issueDate
  300.      */
  301.     public function setIssueDate(?DateTime $issueDate): void
  302.     {
  303.         $this->issueDate $issueDate;
  304.     }
  305.     /**
  306.      * @return DateTime|null
  307.      */
  308.     public function getStartDate(): ?DateTime
  309.     {
  310.         return $this->startDate;
  311.     }
  312.     /**
  313.      * @param DateTime|null $startDate
  314.      */
  315.     public function setStartDate(?DateTime $startDate): void
  316.     {
  317.         $this->startDate $startDate;
  318.     }
  319.     /**
  320.      * @return mixed
  321.      */
  322.     public function getVisaStatus()
  323.     {
  324.         return $this->visaStatus;
  325.     }
  326.     /**
  327.      * @param mixed $visaStatus
  328.      */
  329.     public function setVisaStatus($visaStatus): void
  330.     {
  331.         $this->visaStatus $visaStatus;
  332.     }
  333.     /**
  334.      * @return ArrayCollection
  335.      */
  336.     public function getVisaApplicationDocuments()
  337.     {
  338.         return $this->visaApplicationDocuments;
  339.     }
  340.     /**
  341.      * @param ArrayCollection $visaApplicationDocuments
  342.      */
  343.     public function setVisaApplicationDocuments(ArrayCollection $visaApplicationDocuments): void
  344.     {
  345.         $this->visaApplicationDocuments $visaApplicationDocuments;
  346.     }
  347.     /**
  348.      * @return string|null
  349.      */
  350.     public function getRemarks(): ?string
  351.     {
  352.         return $this->remarks;
  353.     }
  354.     /**
  355.      * @param string|null $remarks
  356.      */
  357.     public function setRemarks(?string $remarks): void
  358.     {
  359.         $this->remarks $remarks;
  360.     }
  361.     /**
  362.      * @return float|int
  363.      */
  364.     public function getPrice()
  365.     {
  366.         return $this->price;
  367.     }
  368.     /**
  369.      * @param float|int $price
  370.      * @return CompanyVisaApplication
  371.      */
  372.     public function setPrice($price)
  373.     {
  374.         $this->price $price;
  375.         return $this;
  376.     }
  377.     /**
  378.      * @return mixed
  379.      */
  380.     public function getCurrency()
  381.     {
  382.         return $this->currency;
  383.     }
  384.     /**
  385.      * @param mixed $currency
  386.      * @return CompanyVisaApplication
  387.      */
  388.     public function setCurrency($currency)
  389.     {
  390.         $this->currency $currency;
  391.         return $this;
  392.     }
  393.     /**
  394.      * @return float|int
  395.      */
  396.     public function getPayment()
  397.     {
  398.         return $this->payment;
  399.     }
  400.     /**
  401.      * @param float|int $payment
  402.      * @return CompanyVisaApplication
  403.      */
  404.     public function setPayment($payment)
  405.     {
  406.         $this->payment $payment;
  407.         return $this;
  408.     }
  409.     public function getUser(): ?CompanyUser
  410.     {
  411.         return $this->user;
  412.     }
  413.     public function setUser(?CompanyUser $user): CompanyVisaApplication
  414.     {
  415.         $this->user $user;
  416.         return $this;
  417.     }
  418.     public function getGender(): ?string
  419.     {
  420.         return $this->gender;
  421.     }
  422.     public function setGender(?string $gender): CompanyVisaApplication
  423.     {
  424.         $this->gender $gender;
  425.         return $this;
  426.     }
  427.     public function getNationality(): ?LocationCountry
  428.     {
  429.         return $this->nationality;
  430.     }
  431.     public function setNationality(?LocationCountry $nationality): CompanyVisaApplication
  432.     {
  433.         $this->nationality $nationality;
  434.         return $this;
  435.     }
  436.     public function getTravelDate(): ?DateTime
  437.     {
  438.         return $this->travelDate;
  439.     }
  440.     public function setTravelDate(?DateTime $travelDate): CompanyVisaApplication
  441.     {
  442.         $this->travelDate $travelDate;
  443.         return $this;
  444.     }
  445.     public function getMissingDocuments(): ?string
  446.     {
  447.         return $this->missingDocuments;
  448.     }
  449.     public function setMissingDocuments(?string $missingDocuments): CompanyVisaApplication
  450.     {
  451.         $this->missingDocuments $missingDocuments;
  452.         return $this;
  453.     }
  454.     public function getInsurance(): ?Insurance
  455.     {
  456.         return $this->insurance;
  457.     }
  458.     public function setInsurance(?Insurance $insurance): CompanyVisaApplication
  459.     {
  460.         $this->insurance $insurance;
  461.         return $this;
  462.     }
  463. }