src/Entity/System/SubscriptionCustomer.php line 13

Open in your IDE?
  1. <?php
  2. namespace App\Entity\System;
  3. use DateTime;
  4. use Doctrine\ORM\Mapping as ORM;
  5. /**
  6.  * @ORM\Table(name="subscription_customer")
  7.  *
  8.  * @ORM\Entity(repositoryClass="App\Repository\System\SubscriptionCustomerRepository")
  9.  */
  10. class SubscriptionCustomer
  11. {
  12.     /**
  13.      * @var int
  14.      *
  15.      * @ORM\Id
  16.      *
  17.      * @ORM\GeneratedValue(strategy="AUTO")
  18.      *
  19.      * @ORM\Column(type="integer", name="id")
  20.      */
  21.     private $id;
  22.     /**
  23.      * @var Customer
  24.      *
  25.      * @ORM\ManyToOne(targetEntity="App\Entity\System\Customer")
  26.      *
  27.      * @ORM\JoinColumn(referencedColumnName="id_customer", name="id_customer")
  28.      */
  29.     private $customer;
  30.     /**
  31.      * @var SubscriptionStatus
  32.      *
  33.      * @ORM\ManyToOne(targetEntity="App\Entity\System\SubscriptionStatus")
  34.      */
  35.     private $subscriptionStatus;
  36.     /**
  37.      * @var SubscriptionData
  38.      *
  39.      * @ORM\ManyToOne(targetEntity="App\Entity\System\SubscriptionData", inversedBy="subscriptionCustomers")
  40.      */
  41.     private $subscriptionData;
  42.     /**
  43.      * @var string|null
  44.      *
  45.      * @ORM\Column(type="string", length=512, name="request", nullable=true)
  46.      */
  47.     private $request;
  48.     /**
  49.      * @var \DateTime
  50.      *
  51.      * @ORM\Column(name="date_add", type="datetime")
  52.      */
  53.     private $dateAdd;
  54.     /**
  55.      * @var \DateTime
  56.      *
  57.      * @ORM\Column(name="date_upd", type="datetime")
  58.      */
  59.     private $dateUpd;
  60.     /**
  61.      * @var \DateTime
  62.      *
  63.      * @ORM\Column(name="date_start", type="datetime", nullable=true)
  64.      */
  65.     private $dateStart;
  66.     /**
  67.      * @var \DateTime
  68.      *
  69.      * @ORM\Column(name="date_due", type="datetime", nullable=true)
  70.      */
  71.     private $dateDue;
  72.     /**
  73.      * @var int|null
  74.      *
  75.      * @ORM\Column(name="number_attempts", columnDefinition="smallint(3)", type="integer", options={"default" : 0}, nullable=true)
  76.      */
  77.     private $numberAttempts;
  78.     /**
  79.      * @var SubscriptionCustomerType
  80.      *
  81.      * @ORM\ManyToOne(targetEntity="App\Entity\System\SubscriptionCustomerType")
  82.      */
  83.     private $subscriptionCustomerType;
  84.     /**
  85.      * @ORM\ManyToOne(targetEntity="App\Entity\System\SubscriptionLine", inversedBy="subscriptionCustomers")
  86.      *
  87.      * @ORM\JoinColumn(referencedColumnName="id_subscription_lines", name="subscription_line_id")
  88.      */
  89.     private SubscriptionLine $subscriptionLine;
  90.     /**
  91.      * @ORM\Column(type="string", length=64, name="internal_migration_status", nullable=true)
  92.      */
  93.     private ?string $internalMigrationStatus;
  94.     public function __construct()
  95.     {
  96.         $this->dateAdd = new \DateTime();
  97.         $this->dateUpd = new \DateTime();
  98.     }
  99.     /**
  100.      * @return int
  101.      */
  102.     public function getId(): int
  103.     {
  104.         return $this->id;
  105.     }
  106.     /**
  107.      * @return Customer
  108.      */
  109.     public function getCustomer(): Customer
  110.     {
  111.         return $this->customer;
  112.     }
  113.     /**
  114.      * @param Customer $customer
  115.      *
  116.      * @return SubscriptionCustomer
  117.      */
  118.     public function setCustomer(Customer $customer): self
  119.     {
  120.         $this->customer $customer;
  121.         return $this;
  122.     }
  123.     /**
  124.      * @return SubscriptionData
  125.      */
  126.     public function getSubscriptionData(): SubscriptionData
  127.     {
  128.         return $this->subscriptionData;
  129.     }
  130.     /**
  131.      * @param SubscriptionData $subscriptionData
  132.      *
  133.      * @return SubscriptionCustomer
  134.      */
  135.     public function setSubscriptionData(SubscriptionData $subscriptionData): self
  136.     {
  137.         $this->subscriptionData $subscriptionData;
  138.         return $this;
  139.     }
  140.     /**
  141.      * @param SubscriptionStatus $subscriptionStatus
  142.      *
  143.      * @return SubscriptionCustomer
  144.      */
  145.     public function setSubscriptionStatus(SubscriptionStatus $subscriptionStatus): self
  146.     {
  147.         $this->subscriptionStatus $subscriptionStatus;
  148.         return $this;
  149.     }
  150.     /**
  151.      * @return SubscriptionStatus
  152.      */
  153.     public function getSubscriptionStatus(): SubscriptionStatus
  154.     {
  155.         return $this->subscriptionStatus;
  156.     }
  157.     /**
  158.      * @return string|null
  159.      */
  160.     public function getRequest(): ?string
  161.     {
  162.         return $this->request;
  163.     }
  164.     /**
  165.      * @param string|null $request
  166.      *
  167.      * @return SubscriptionCustomer
  168.      */
  169.     public function setRequest(?string $request null): self
  170.     {
  171.         $this->request $request;
  172.         return $this;
  173.     }
  174.     /**
  175.      * @param \DateTime|null $dateDue
  176.      *
  177.      * @return SubscriptionCustomer
  178.      */
  179.     public function setDateDue(?\DateTime $dateDue): self
  180.     {
  181.         $this->dateDue $dateDue;
  182.         return $this;
  183.     }
  184.     /**
  185.      * @param \DateTime $dateStart
  186.      *
  187.      * @return SubscriptionCustomer
  188.      */
  189.     public function setDateStart(\DateTime $dateStart): self
  190.     {
  191.         $this->dateStart $dateStart;
  192.         return $this;
  193.     }
  194.     /**
  195.      * @param \DateTime $dateUpd
  196.      *
  197.      * @return SubscriptionCustomer
  198.      */
  199.     public function setDateUpd(\DateTime $dateUpd): self
  200.     {
  201.         $this->dateUpd $dateUpd;
  202.         return $this;
  203.     }
  204.     /**
  205.      * @return SubscriptionCustomer
  206.      */
  207.     public function setDateAdd(): self
  208.     {
  209.         $this->dateAdd = new \DateTime();
  210.         return $this;
  211.     }
  212.     /**
  213.      * @return SubscriptionCustomerType
  214.      */
  215.     public function getSubscriptionCustomerType(): SubscriptionCustomerType
  216.     {
  217.         return $this->subscriptionCustomerType;
  218.     }
  219.     /**
  220.      * @param SubscriptionCustomerType $subscriptionCustomerType
  221.      *
  222.      * @return SubscriptionCustomer
  223.      */
  224.     public function setSubscriptionCustomerType(SubscriptionCustomerType $subscriptionCustomerType): self
  225.     {
  226.         $this->subscriptionCustomerType $subscriptionCustomerType;
  227.         return $this;
  228.     }
  229.     public function setNumberAttempts(int $numberAttempts): self
  230.     {
  231.         $this->numberAttempts $numberAttempts;
  232.         return $this;
  233.     }
  234.     public function setNumberOfAttempts(bool $increase): self
  235.     {
  236.         if (true === $increase) {
  237.             $this->numberAttempts++;
  238.         } else {
  239.             $this->numberAttempts 0;
  240.         }
  241.         return $this;
  242.     }
  243.     /**
  244.      * @return int|null
  245.      */
  246.     public function getNumberAttempts(): ?int
  247.     {
  248.         return $this->numberAttempts;
  249.     }
  250.     /**
  251.      * @return \DateTime|null
  252.      */
  253.     public function getDateDue(): ?\DateTime
  254.     {
  255.         return $this->dateDue;
  256.     }
  257.     public function getDateAdd(): \DateTime
  258.     {
  259.         return $this->dateAdd;
  260.     }
  261.     public function getDateUpd(): \DateTime
  262.     {
  263.         return $this->dateUpd;
  264.     }
  265.     public function getDateStart(): ?\DateTime
  266.     {
  267.         return $this->dateStart;
  268.     }
  269.     public function getSubscriptionLine(): SubscriptionLine
  270.     {
  271.         return $this->subscriptionLine;
  272.     }
  273.     public function setSubscriptionLine(SubscriptionLine $subscriptionLine): SubscriptionCustomer
  274.     {
  275.         $this->subscriptionLine $subscriptionLine;
  276.         return $this;
  277.     }
  278.     public function getInternalMigrationStatus(): ?string
  279.     {
  280.         return $this->internalMigrationStatus;
  281.     }
  282.     public function setInternalMigrationStatus(?string $internalMigrationStatus): SubscriptionCustomer
  283.     {
  284.         $this->internalMigrationStatus $internalMigrationStatus;
  285.         return $this;
  286.     }
  287. }