vendor/croisiland/common-bundle/src/Entity/Partner/PartnerCompanyDiscount.php line 17

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Croisiland\CommonBundle\Entity\Partner;
  4. use Croisiland\CommonBundle\Annotation\Partner\PartnerCompanyDiscountFormValidator;
  5. use Croisiland\CommonBundle\Entity\Cabin\CabinType;
  6. use Croisiland\CommonBundle\Entity\Company\Company;
  7. use Croisiland\CommonBundle\Repository\Partner\PartnerCompanyDiscountRepository;
  8. use Doctrine\ORM\Mapping as ORM;
  9. /**
  10. * @ORM\Entity(repositoryClass=PartnerCompanyDiscountRepository::class)
  11. * @PartnerCompanyDiscountFormValidator(groups={"partner_company_discount_form_validator"})
  12. */
  13. class PartnerCompanyDiscount
  14. {
  15. /**
  16. * @ORM\Id
  17. *
  18. * @ORM\GeneratedValue
  19. *
  20. * @ORM\Column(type="integer")
  21. */
  22. protected ?int $id = null;
  23. /**
  24. * @ORM\Column(type="float")
  25. */
  26. protected ?float $rate = null;
  27. /**
  28. * @ORM\Column(type="float", nullable=true)
  29. */
  30. protected ?float $additionalRate = null;
  31. /**
  32. * @ORM\Column(type="float", nullable=true)
  33. */
  34. protected ?float $allowancePercentage = null;
  35. /**
  36. * @ORM\Column(type="string", length=255, nullable=true)
  37. */
  38. protected ?string $discountLabel = null;
  39. /**
  40. * @ORM\Column(type="string", length=255, nullable=true)
  41. */
  42. protected ?string $secondDiscountLabel = null;
  43. /**
  44. * @ORM\Column(type="boolean")
  45. */
  46. protected bool $isArchived = false;
  47. /**
  48. * @ORM\Column(type="datetime", nullable=true)
  49. */
  50. protected ?\DateTimeInterface $startsAt = null;
  51. /**
  52. * @ORM\Column(type="datetime", nullable=true)
  53. */
  54. protected ?\DateTimeInterface $endsAt = null;
  55. /**
  56. * @ORM\Column(type="boolean")
  57. */
  58. protected bool $isDefault = false;
  59. /**
  60. * @ORM\Column(type="integer", nullable=true)
  61. */
  62. protected ?int $sourceId = null;
  63. /**
  64. * @ORM\ManyToOne(targetEntity=Partner::class, inversedBy="partnerCompanyDiscounts")
  65. *
  66. * @ORM\JoinColumn(nullable=false)
  67. */
  68. private Partner $partner;
  69. /**
  70. * @ORM\ManyToOne(targetEntity=Company::class, inversedBy="partnerCompanyDiscounts")
  71. *
  72. * @ORM\JoinColumn(nullable=false)
  73. */
  74. private Company $company;
  75. /**
  76. * @ORM\ManyToOne(targetEntity=CabinType::class, inversedBy="partnerCompanyDiscounts")
  77. */
  78. private ?CabinType $cabinType = null;
  79. public function getId(): ?int
  80. {
  81. return $this->id;
  82. }
  83. /**
  84. * @return float|null
  85. */
  86. public function getRate(): ?float
  87. {
  88. return $this->rate;
  89. }
  90. /**
  91. * @param float|null $rate
  92. * @return PartnerCompanyDiscount
  93. */
  94. public function setRate(?float $rate): PartnerCompanyDiscount
  95. {
  96. $this->rate = $rate;
  97. return $this;
  98. }
  99. /**
  100. * @return float|null
  101. */
  102. public function getAdditionalRate(): ?float
  103. {
  104. return $this->additionalRate;
  105. }
  106. /**
  107. * @param float|null $additionalRate
  108. * @return PartnerCompanyDiscount
  109. */
  110. public function setAdditionalRate(?float $additionalRate): PartnerCompanyDiscount
  111. {
  112. $this->additionalRate = $additionalRate;
  113. return $this;
  114. }
  115. /**
  116. * @return float|null
  117. */
  118. public function getAllowancePercentage(): ?float
  119. {
  120. return $this->allowancePercentage;
  121. }
  122. /**
  123. * @param float|null $allowancePercentage
  124. * @return PartnerCompanyDiscount
  125. */
  126. public function setAllowancePercentage(?float $allowancePercentage): PartnerCompanyDiscount
  127. {
  128. $this->allowancePercentage = $allowancePercentage;
  129. return $this;
  130. }
  131. /**
  132. * @return string|null
  133. */
  134. public function getDiscountLabel(): ?string
  135. {
  136. return $this->discountLabel;
  137. }
  138. /**
  139. * @param string|null $discountLabel
  140. * @return PartnerCompanyDiscount
  141. */
  142. public function setDiscountLabel(?string $discountLabel): PartnerCompanyDiscount
  143. {
  144. $this->discountLabel = $discountLabel;
  145. return $this;
  146. }
  147. /**
  148. * @return string|null
  149. */
  150. public function getSecondDiscountLabel(): ?string
  151. {
  152. return $this->secondDiscountLabel;
  153. }
  154. /**
  155. * @param string|null $secondDiscountLabel
  156. * @return PartnerCompanyDiscount
  157. */
  158. public function setSecondDiscountLabel(?string $secondDiscountLabel): PartnerCompanyDiscount
  159. {
  160. $this->secondDiscountLabel = $secondDiscountLabel;
  161. return $this;
  162. }
  163. /**
  164. * @return bool
  165. */
  166. public function isArchived(): bool
  167. {
  168. return $this->isArchived;
  169. }
  170. /**
  171. * @param bool $isArchived
  172. * @return PartnerCompanyDiscount
  173. */
  174. public function setIsArchived(bool $isArchived): PartnerCompanyDiscount
  175. {
  176. $this->isArchived = $isArchived;
  177. return $this;
  178. }
  179. /**
  180. * @return \DateTimeInterface|null
  181. */
  182. public function getStartsAt(): ?\DateTimeInterface
  183. {
  184. return $this->startsAt;
  185. }
  186. /**
  187. * @param \DateTimeInterface|null $startsAt
  188. * @return PartnerCompanyDiscount
  189. */
  190. public function setStartsAt(?\DateTimeInterface $startsAt): PartnerCompanyDiscount
  191. {
  192. $this->startsAt = $startsAt;
  193. return $this;
  194. }
  195. /**
  196. * @return \DateTimeInterface|null
  197. */
  198. public function getEndsAt(): ?\DateTimeInterface
  199. {
  200. return $this->endsAt;
  201. }
  202. /**
  203. * @param \DateTimeInterface|null $endsAt
  204. * @return PartnerCompanyDiscount
  205. */
  206. public function setEndsAt(?\DateTimeInterface $endsAt): PartnerCompanyDiscount
  207. {
  208. $this->endsAt = $endsAt;
  209. return $this;
  210. }
  211. /**
  212. * @return bool
  213. */
  214. public function isDefault(): bool
  215. {
  216. return $this->isDefault;
  217. }
  218. /**
  219. * @param bool $isDefault
  220. * @return PartnerCompanyDiscount
  221. */
  222. public function setIsDefault(bool $isDefault): PartnerCompanyDiscount
  223. {
  224. $this->isDefault = $isDefault;
  225. return $this;
  226. }
  227. /**
  228. * @return int|null
  229. */
  230. public function getSourceId(): ?int
  231. {
  232. return $this->sourceId;
  233. }
  234. /**
  235. * @param int|null $sourceId
  236. * @return PartnerCompanyDiscount
  237. */
  238. public function setSourceId(?int $sourceId): PartnerCompanyDiscount
  239. {
  240. $this->sourceId = $sourceId;
  241. return $this;
  242. }
  243. public function getPartner(): ?Partner
  244. {
  245. return $this->partner;
  246. }
  247. public function setPartner(?Partner $partner): self
  248. {
  249. $this->partner = $partner;
  250. return $this;
  251. }
  252. public function getCompany(): ?Company
  253. {
  254. return $this->company;
  255. }
  256. public function setCompany(?Company $company): self
  257. {
  258. $this->company = $company;
  259. return $this;
  260. }
  261. public function getCabinType(): ?CabinType
  262. {
  263. return $this->cabinType;
  264. }
  265. public function setCabinType(?CabinType $cabinType): self
  266. {
  267. $this->cabinType = $cabinType;
  268. return $this;
  269. }
  270. }