src/Entity/System/SubscriptionCustomerHistory.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_history")
  7. *
  8. * @ORM\Entity(repositoryClass="App\Repository\System\SubscriptionCustomerHistoryRepository")
  9. */
  10. class SubscriptionCustomerHistory
  11. {
  12. public const PAYMENT_FAILED_DETAILS_REASON = 'payment_failed';
  13. /**
  14. * @var int
  15. *
  16. * @ORM\Id
  17. *
  18. * @ORM\GeneratedValue(strategy="AUTO")
  19. *
  20. * @ORM\Column(type="integer", name="id")
  21. */
  22. private $id;
  23. /**
  24. * @var SubscriptionCustomer
  25. *
  26. * @ORM\ManyToOne(targetEntity="App\Entity\System\SubscriptionCustomer", cascade={"persist"})
  27. *
  28. * @ORM\JoinColumn(nullable=false)
  29. */
  30. private SubscriptionCustomer $subscriptionCustomer;
  31. /**
  32. * @var OrderDetail|null
  33. *
  34. * @ORM\ManyToOne(targetEntity="App\Entity\System\OrderDetail")
  35. *
  36. * @ORM\JoinColumn(referencedColumnName="id_order_detail", name="id_order_detail")
  37. */
  38. private $orderDetail;
  39. /**
  40. * @var \DateTime
  41. *
  42. * @ORM\Column(name="date_add", type="datetime")
  43. */
  44. private $dateAdd;
  45. /**
  46. * @var SubscriptionCustomerHistoryType
  47. *
  48. * @ORM\ManyToOne(targetEntity="App\Entity\System\SubscriptionCustomerHistoryType")
  49. *
  50. * @ORM\JoinColumn(nullable=false)
  51. */
  52. private $subscriptionCustomerHistoryType;
  53. /**
  54. * @var Employee|null
  55. *
  56. * @ORM\ManyToOne(targetEntity="App\Entity\System\Employee")
  57. *
  58. * @ORM\JoinColumn(referencedColumnName="id_employee", name="id_employee")
  59. */
  60. private $employee;
  61. /**
  62. * @var SubscriptionCustomer|null
  63. *
  64. * @ORM\ManyToOne(targetEntity="App\Entity\System\SubscriptionCustomer")
  65. */
  66. private $subscriptionCustomerMigration;
  67. /**
  68. * @var \DateTime|null
  69. *
  70. * @ORM\Column(name="date_due", type="datetime", nullable=true)
  71. */
  72. private $dateDue;
  73. /**
  74. * @var string|null
  75. *
  76. * @ORM\Column(type="string", length=512, name="status_info", nullable=true)
  77. */
  78. private $statusInfo;
  79. /**
  80. * @ORM\ManyToOne(targetEntity="App\Entity\System\SubscriptionLineHistory", inversedBy="subscriptionCustomerHistories")
  81. *
  82. * @ORM\JoinColumn(referencedColumnName="id_subscription_lines_history", name="subscription_line_history_id", nullable=false)
  83. */
  84. private SubscriptionLineHistory $subscriptionLineHistory;
  85. /**
  86. * @ORM\Column(type="string", length=64, name="internal_migration_status", nullable=true)
  87. */
  88. private ?string $internalMigrationStatus;
  89. public function __construct()
  90. {
  91. $this->dateAdd = new \DateTime();
  92. }
  93. /**
  94. * @return int
  95. */
  96. public function getId(): int
  97. {
  98. return $this->id;
  99. }
  100. /**
  101. * @param SubscriptionCustomer $subscriptionCustomer
  102. *
  103. * @return SubscriptionCustomerHistory
  104. */
  105. public function setSubscriptionCustomer(SubscriptionCustomer $subscriptionCustomer): SubscriptionCustomerHistory
  106. {
  107. $this->subscriptionCustomer = $subscriptionCustomer;
  108. return $this;
  109. }
  110. /**
  111. * @return SubscriptionCustomer
  112. */
  113. public function getSubscriptionCustomer(): SubscriptionCustomer
  114. {
  115. return $this->subscriptionCustomer;
  116. }
  117. /**
  118. * @param OrderDetail|null $orderDetail
  119. *
  120. * @return SubscriptionCustomerHistory
  121. */
  122. public function setOrderDetail(?OrderDetail $orderDetail): SubscriptionCustomerHistory
  123. {
  124. $this->orderDetail = $orderDetail;
  125. return $this;
  126. }
  127. /**
  128. * @return OrderDetail|null
  129. */
  130. public function getOrderDetail(): ?OrderDetail
  131. {
  132. return $this->orderDetail;
  133. }
  134. /**
  135. * @return \DateTime
  136. */
  137. public function getDateAdd(): \DateTime
  138. {
  139. return $this->dateAdd;
  140. }
  141. /**
  142. * @param Employee|null $employee
  143. *
  144. * @return SubscriptionCustomerHistory
  145. */
  146. public function setEmployee(?Employee $employee): SubscriptionCustomerHistory
  147. {
  148. $this->employee = $employee;
  149. return $this;
  150. }
  151. /**
  152. * @param SubscriptionCustomerHistoryType $subscriptionCustomerHistoryType
  153. *
  154. * @return SubscriptionCustomerHistory
  155. */
  156. public function setSubscriptionCustomerHistoryType(SubscriptionCustomerHistoryType $subscriptionCustomerHistoryType): SubscriptionCustomerHistory
  157. {
  158. $this->subscriptionCustomerHistoryType = $subscriptionCustomerHistoryType;
  159. return $this;
  160. }
  161. /**
  162. * @param SubscriptionCustomer|null $subscriptionCustomerMigration
  163. *
  164. * @return SubscriptionCustomerHistory
  165. */
  166. public function setSubscriptionCustomerMigration(?SubscriptionCustomer $subscriptionCustomerMigration): SubscriptionCustomerHistory
  167. {
  168. $this->subscriptionCustomerMigration = $subscriptionCustomerMigration;
  169. return $this;
  170. }
  171. /**
  172. * @param \DateTime|null $dateAdd
  173. *
  174. * @return SubscriptionCustomerHistory
  175. */
  176. public function setDateAdd(?\DateTime $dateAdd): SubscriptionCustomerHistory
  177. {
  178. $this->dateAdd = $dateAdd;
  179. return $this;
  180. }
  181. /**
  182. * @param \DateTime|null $dateDue
  183. *
  184. * @return SubscriptionCustomerHistory
  185. */
  186. public function setDateDue(?\DateTime $dateDue): SubscriptionCustomerHistory
  187. {
  188. $this->dateDue = $dateDue;
  189. return $this;
  190. }
  191. /**
  192. * @param string|null $statusInfo
  193. *
  194. * @return SubscriptionCustomerHistory
  195. */
  196. public function setStatusInfo(?string $statusInfo): SubscriptionCustomerHistory
  197. {
  198. $this->statusInfo = $statusInfo;
  199. return $this;
  200. }
  201. public function getSubscriptionLineHistory(): SubscriptionLineHistory
  202. {
  203. return $this->subscriptionLineHistory;
  204. }
  205. public function setSubscriptionLineHistory(SubscriptionLineHistory $subscriptionLineHistory): SubscriptionCustomerHistory
  206. {
  207. $this->subscriptionLineHistory = $subscriptionLineHistory;
  208. return $this;
  209. }
  210. public function getInternalMigrationStatus(): ?string
  211. {
  212. return $this->internalMigrationStatus;
  213. }
  214. public function setInternalMigrationStatus(?string $internalMigrationStatus): SubscriptionCustomerHistory
  215. {
  216. $this->internalMigrationStatus = $internalMigrationStatus;
  217. return $this;
  218. }
  219. public function getSubscriptionCustomerHistoryType(): SubscriptionCustomerHistoryType
  220. {
  221. return $this->subscriptionCustomerHistoryType;
  222. }
  223. public function getSubscriptionCustomerMigration(): ?SubscriptionCustomer
  224. {
  225. return $this->subscriptionCustomerMigration;
  226. }
  227. }