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", 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 = null;
  90. /**
  91. * @ORM\Column(type="string", length=64, name="internal_migration_status", nullable=true)
  92. */
  93. private ?string $internalMigrationStatus;
  94. /**
  95. * @ORM\Column(type="text", nullable=true)
  96. */
  97. private ?string $nonRenewableInformation = null;
  98. /**
  99. * @ORM\Column(name="date_non_renewal_request", nullable=true, type="datetime")
  100. */
  101. private ?\DateTime $dateNonRenewalRequest = null;
  102. public function __construct()
  103. {
  104. $this->dateAdd = new \DateTime();
  105. $this->dateUpd = new \DateTime();
  106. }
  107. /**
  108. * @return int
  109. */
  110. public function getId(): int
  111. {
  112. return $this->id;
  113. }
  114. /**
  115. * @return Customer
  116. */
  117. public function getCustomer(): Customer
  118. {
  119. return $this->customer;
  120. }
  121. /**
  122. * @param Customer $customer
  123. *
  124. * @return SubscriptionCustomer
  125. */
  126. public function setCustomer(Customer $customer): self
  127. {
  128. $this->customer = $customer;
  129. return $this;
  130. }
  131. /**
  132. * @return SubscriptionData
  133. */
  134. public function getSubscriptionData(): SubscriptionData
  135. {
  136. return $this->subscriptionData;
  137. }
  138. /**
  139. * @param SubscriptionData $subscriptionData
  140. *
  141. * @return SubscriptionCustomer
  142. */
  143. public function setSubscriptionData(SubscriptionData $subscriptionData): self
  144. {
  145. $this->subscriptionData = $subscriptionData;
  146. return $this;
  147. }
  148. /**
  149. * @param SubscriptionStatus $subscriptionStatus
  150. *
  151. * @return SubscriptionCustomer
  152. */
  153. public function setSubscriptionStatus(SubscriptionStatus $subscriptionStatus): self
  154. {
  155. $this->subscriptionStatus = $subscriptionStatus;
  156. return $this;
  157. }
  158. /**
  159. * @return SubscriptionStatus
  160. */
  161. public function getSubscriptionStatus(): SubscriptionStatus
  162. {
  163. return $this->subscriptionStatus;
  164. }
  165. /**
  166. * @return string|null
  167. */
  168. public function getRequest(): ?string
  169. {
  170. return $this->request;
  171. }
  172. /**
  173. * @param string|null $request
  174. *
  175. * @return SubscriptionCustomer
  176. */
  177. public function setRequest(?string $request = null): self
  178. {
  179. $this->request = $request;
  180. return $this;
  181. }
  182. /**
  183. * @param \DateTime|null $dateDue
  184. *
  185. * @return SubscriptionCustomer
  186. */
  187. public function setDateDue(?\DateTime $dateDue): self
  188. {
  189. $this->dateDue = $dateDue;
  190. return $this;
  191. }
  192. /**
  193. * @param \DateTime $dateStart
  194. *
  195. * @return SubscriptionCustomer
  196. */
  197. public function setDateStart(\DateTime $dateStart): self
  198. {
  199. $this->dateStart = $dateStart;
  200. return $this;
  201. }
  202. /**
  203. * @param \DateTime $dateUpd
  204. *
  205. * @return SubscriptionCustomer
  206. */
  207. public function setDateUpd(\DateTime $dateUpd): self
  208. {
  209. $this->dateUpd = $dateUpd;
  210. return $this;
  211. }
  212. public function setDateAdd(\DateTime $dateAdd): SubscriptionCustomer
  213. {
  214. $this->dateAdd = $dateAdd;
  215. return $this;
  216. }
  217. /**
  218. * @return SubscriptionCustomerType
  219. */
  220. public function getSubscriptionCustomerType(): SubscriptionCustomerType
  221. {
  222. return $this->subscriptionCustomerType;
  223. }
  224. /**
  225. * @param SubscriptionCustomerType $subscriptionCustomerType
  226. *
  227. * @return SubscriptionCustomer
  228. */
  229. public function setSubscriptionCustomerType(SubscriptionCustomerType $subscriptionCustomerType): self
  230. {
  231. $this->subscriptionCustomerType = $subscriptionCustomerType;
  232. return $this;
  233. }
  234. public function setNumberAttempts(int $numberAttempts): self
  235. {
  236. $this->numberAttempts = $numberAttempts;
  237. return $this;
  238. }
  239. public function setNumberOfAttempts(bool $increase): self
  240. {
  241. if (true === $increase) {
  242. $this->numberAttempts++;
  243. } else {
  244. $this->numberAttempts = 0;
  245. }
  246. return $this;
  247. }
  248. /**
  249. * @return int|null
  250. */
  251. public function getNumberAttempts(): ?int
  252. {
  253. return $this->numberAttempts;
  254. }
  255. /**
  256. * @return \DateTime|null
  257. */
  258. public function getDateDue(): ?\DateTime
  259. {
  260. return $this->dateDue;
  261. }
  262. public function getDateAdd(): \DateTime
  263. {
  264. return $this->dateAdd;
  265. }
  266. public function getDateUpd(): \DateTime
  267. {
  268. return $this->dateUpd;
  269. }
  270. public function getDateStart(): ?\DateTime
  271. {
  272. return $this->dateStart;
  273. }
  274. public function getSubscriptionLine(): ?SubscriptionLine
  275. {
  276. return $this->subscriptionLine;
  277. }
  278. public function setSubscriptionLine(?SubscriptionLine $subscriptionLine): SubscriptionCustomer
  279. {
  280. $this->subscriptionLine = $subscriptionLine;
  281. return $this;
  282. }
  283. public function getInternalMigrationStatus(): ?string
  284. {
  285. return $this->internalMigrationStatus;
  286. }
  287. public function setInternalMigrationStatus(?string $internalMigrationStatus): SubscriptionCustomer
  288. {
  289. $this->internalMigrationStatus = $internalMigrationStatus;
  290. return $this;
  291. }
  292. public function getNonRenewableInformation(): ?string
  293. {
  294. return $this->nonRenewableInformation;
  295. }
  296. public function setNonRenewableInformation(?string $nonRenewableInformation): SubscriptionCustomer
  297. {
  298. $this->nonRenewableInformation = $nonRenewableInformation;
  299. return $this;
  300. }
  301. public function getDateNonRenewalRequest(): ?\DateTime
  302. {
  303. return $this->dateNonRenewalRequest;
  304. }
  305. public function setDateNonRenewalRequest(?\DateTime $dateNonRenewalRequest): SubscriptionCustomer
  306. {
  307. $this->dateNonRenewalRequest = $dateNonRenewalRequest;
  308. return $this;
  309. }
  310. }