FictionalIntangible.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. <?php
  2. namespace AppBundle\Entity\Product;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use Dunglas\ApiBundle\Annotation\Iri;
  6. use Symfony\Component\Serializer\Annotation\Groups;
  7. use Symfony\Component\Validator\Constraints as Assert;
  8. use AppBundle\Entity\Traits\TimestampableEntity;
  9. use AppBundle\Entity\Traits\CreatorUpdaterEntity;
  10. /**
  11. * Produit à facturer induit par une action ou un évènement, en fonction du contexte
  12. * (et pas suite à un choix de l'Access)
  13. *
  14. * @Iri("http://schema.org/FictionalIntangible")
  15. */
  16. #[ORM\Entity]
  17. class FictionalIntangible
  18. {
  19. use TimestampableEntity;
  20. use CreatorUpdaterEntity;
  21. /**
  22. * @var int
  23. */
  24. #[ORM\Column(type: 'integer')]
  25. #[ORM\Id]
  26. #[ORM\GeneratedValue(strategy: 'AUTO')]
  27. #[Groups(['fictionalintangible'])]
  28. private $id;
  29. /**
  30. * @var string
  31. */
  32. #[ORM\Column(type: 'string', length: 100, nullable: true)]
  33. #[Assert\Type(type: 'string')]
  34. #[Groups(['fictionalintangible'])]
  35. private $label;
  36. /**
  37. * @var string
  38. */
  39. #[ORM\Column(type: 'string', nullable: true)]
  40. #[Assert\Type(type: 'string')]
  41. #[Assert\Choice(callback: ['AppBundle\Enum\Product\FictionalIntangibleTypeEnum', 'toArray'])]
  42. #[Groups(['fictionalintangible'])]
  43. private $type;
  44. /**
  45. * @var string
  46. */
  47. #[ORM\Column(type: 'string', nullable: true)]
  48. #[Assert\Type(type: 'string')]
  49. #[Assert\Choice(callback: ['AppBundle\Enum\Billing\PricingLineAdhesionEnum', 'toArray'])]
  50. #[Groups(['fictionalintangible'])]
  51. private $pricingLineAdhesion;
  52. /**
  53. * @var string
  54. */
  55. #[ORM\Column(type: 'string', nullable: true)]
  56. #[Assert\Type(type: 'string')]
  57. #[Assert\Choice(callback: ['\AppBundle\Enum\Billing\PeriodicityEnum', 'toArray'])]
  58. #[Groups(['intangible'])]
  59. private $billingPeriodicity;
  60. /**
  61. * Constructor
  62. */
  63. public function __construct()
  64. {
  65. }
  66. /**
  67. * Get id
  68. *
  69. * @return integer
  70. */
  71. public function getId()
  72. {
  73. return $this->id;
  74. }
  75. /**
  76. * Sets id.
  77. *
  78. * @param int $id
  79. *
  80. * @return $this
  81. */
  82. public function setId($id)
  83. {
  84. $this->id = $id;
  85. return $this;
  86. }
  87. /**
  88. * Set label
  89. *
  90. * @param string $label
  91. *
  92. * @return FictionalIntangible
  93. */
  94. public function setLabel($label)
  95. {
  96. $this->label = $label;
  97. return $this;
  98. }
  99. /**
  100. * Get label
  101. *
  102. * @return string
  103. */
  104. public function getLabel()
  105. {
  106. return $this->label;
  107. }
  108. /**
  109. * Set type
  110. *
  111. * @param string $type
  112. *
  113. * @return FictionalIntangible
  114. */
  115. public function setType($type)
  116. {
  117. $this->type = $type;
  118. return $this;
  119. }
  120. /**
  121. * Get type
  122. *
  123. * @return string
  124. */
  125. public function getType()
  126. {
  127. return $this->type;
  128. }
  129. /**
  130. * Set pricingLineAdhesion
  131. *
  132. * @param string $pricingLineAdhesion
  133. *
  134. * @return FictionalIntangible
  135. */
  136. public function setPricingLineAdhesion($pricingLineAdhesion)
  137. {
  138. $this->pricingLineAdhesion = $pricingLineAdhesion;
  139. return $this;
  140. }
  141. /**
  142. * Get pricingLineAdhesion
  143. *
  144. * @return string
  145. */
  146. public function getPricingLineAdhesion()
  147. {
  148. return $this->pricingLineAdhesion;
  149. }
  150. /**
  151. * Set billingPeriodicity
  152. *
  153. * @param string $billingPeriodicity
  154. *
  155. * @return FictionalIntangible
  156. */
  157. public function setBillingPeriodicity($billingPeriodicity)
  158. {
  159. $this->billingPeriodicity = $billingPeriodicity;
  160. return $this;
  161. }
  162. /**
  163. * Get billingPeriodicity
  164. *
  165. * @return string
  166. */
  167. public function getBillingPeriodicity()
  168. {
  169. return $this->billingPeriodicity;
  170. }
  171. }