Product.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653
  1. <?php
  2. namespace AppBundle\Entity\Awin;
  3. use Doctrine\ORM\Mapping as ORM;
  4. use Symfony\Component\Validator\Constraints as Assert;
  5. use Gedmo\Mapping\Annotation as Gedmo;
  6. use AppBundle\Entity\Traits\TimestampableEntity;
  7. /**
  8. * Produit/Evènement pour le portail fourni par le partenaire Awin
  9. */
  10. #[ORM\Table(name: 'AwinProduct')]
  11. #[ORM\Entity]
  12. class Product
  13. {
  14. use TimestampableEntity;
  15. /**
  16. * @var string
  17. *
  18. *
  19. */
  20. #[ORM\Column(name: 'id', type: 'string')]
  21. #[ORM\Id]
  22. protected $id;
  23. /**
  24. * @var string
  25. * @Gedmo\Slug(fields={"name"}, style="camel", separator="_")
  26. *
  27. */
  28. #[ORM\Column(name: 'slug', type: 'string', length: 100)]
  29. protected $slug;
  30. /**
  31. * @var string
  32. *
  33. *
  34. */
  35. #[ORM\Column(name: 'name', type: 'string', length: 255)]
  36. protected $name;
  37. /**
  38. * @var string
  39. *
  40. *
  41. */
  42. #[ORM\Column(name: 'description', type: 'text', length: 65535, nullable: true)]
  43. protected $description;
  44. /**
  45. * @var array
  46. *
  47. *
  48. */
  49. #[ORM\Column(type: 'json_array', nullable: true)]
  50. protected $categories;
  51. /**
  52. * @var \DateTime
  53. *
  54. *
  55. */
  56. #[ORM\Column(name: 'datetimeStart', type: 'date', nullable: true)]
  57. protected $datetimeStart;
  58. /**
  59. * @var \DateTime
  60. *
  61. *
  62. */
  63. #[ORM\Column(name: 'datetimeEnd', type: 'date', nullable: true)]
  64. protected $datetimeEnd;
  65. /**
  66. * @var array
  67. *
  68. *
  69. */
  70. #[ORM\Column(name: 'meeting_schedule', type: 'json_array', nullable: true)]
  71. protected $meetingSchedule;
  72. /**
  73. * @var string
  74. *
  75. *
  76. */
  77. #[ORM\Column(name: 'place_code', type: 'string', length: 50, nullable: true)]
  78. protected $placeCode;
  79. /**
  80. * @var string
  81. *
  82. *
  83. */
  84. #[ORM\Column(name: 'place', type: 'string', length: 50, nullable: true)]
  85. protected $place;
  86. /**
  87. * @var string
  88. *
  89. *
  90. */
  91. #[ORM\Column(name: 'streetAddress', type: 'string', length: 100, nullable: true)]
  92. protected $streetAddress;
  93. /**
  94. * @var string
  95. *
  96. *
  97. */
  98. #[ORM\Column(name: 'postalCode', type: 'string', length: 9, nullable: true)]
  99. protected $postalCode;
  100. /**
  101. * @var string
  102. *
  103. *
  104. */
  105. #[ORM\Column(name: 'city', type: 'string', length: 50, nullable: true)]
  106. protected $city;
  107. /**
  108. * @var string
  109. */
  110. #[ORM\Column(name: 'country', type: 'string', length: 50, nullable: true)]
  111. protected $country;
  112. /**
  113. * @var string
  114. *
  115. *
  116. */
  117. #[ORM\Column(name: 'latitude', type: 'decimal', precision: 18, scale: 15, nullable: true)]
  118. protected $latitude;
  119. /**
  120. * @var string
  121. *
  122. *
  123. *
  124. */
  125. #[ORM\Column(name: 'longitude', type: 'decimal', precision: 18, scale: 15, nullable: true)]
  126. protected $longitude;
  127. /**
  128. * @var string
  129. *
  130. *
  131. */
  132. #[ORM\Column(name: 'mediumimage', type: 'string', length: 2000, nullable: true)]
  133. protected $mediumimage;
  134. /**
  135. * @var string
  136. *
  137. *
  138. */
  139. #[ORM\Column(name: 'largeimage', type: 'string', length: 2000, nullable: true)]
  140. protected $largeimage;
  141. /**
  142. * @var string
  143. *
  144. *
  145. */
  146. #[ORM\Column(name: 'deepLink', type: 'text', nullable: true)]
  147. protected $deepLink;
  148. /**
  149. * @var float
  150. *
  151. *
  152. */
  153. #[ORM\Column(name: 'priceMini', type: 'float', nullable: true)]
  154. protected $priceMini;
  155. /**
  156. * @var float
  157. *
  158. *
  159. */
  160. #[ORM\Column(name: 'priceMaxi', type: 'float', nullable: true)]
  161. protected $priceMaxi;
  162. /**
  163. * @var string
  164. */
  165. #[ORM\Column(name: 'artists', type: 'text', length: 65535, nullable: true)]
  166. protected $artists;
  167. /**
  168. * Set id
  169. *
  170. * @param string $id
  171. *
  172. * @return Product
  173. */
  174. public function setId($id)
  175. {
  176. $this->id = $id;
  177. return $this;
  178. }
  179. /**
  180. * Get id
  181. *
  182. * @return string
  183. */
  184. public function getId()
  185. {
  186. return $this->id;
  187. }
  188. /**
  189. * Set slug
  190. *
  191. * @param string $slug
  192. *
  193. * @return Product
  194. */
  195. public function setSlug($slug)
  196. {
  197. $this->slug = $slug;
  198. return $this;
  199. }
  200. /**
  201. * Get slug
  202. *
  203. * @return string
  204. */
  205. public function getSlug()
  206. {
  207. return $this->slug;
  208. }
  209. /**
  210. * Set name
  211. *
  212. * @param string $name
  213. *
  214. * @return Product
  215. */
  216. public function setName($name)
  217. {
  218. $this->name = $name;
  219. return $this;
  220. }
  221. /**
  222. * Get name
  223. *
  224. * @return string
  225. */
  226. public function getName()
  227. {
  228. return $this->name;
  229. }
  230. /**
  231. * Set description
  232. *
  233. * @param string $description
  234. *
  235. * @return Product
  236. */
  237. public function setDescription($description)
  238. {
  239. $this->description = $description;
  240. return $this;
  241. }
  242. /**
  243. * Get description
  244. *
  245. * @return string
  246. */
  247. public function getDescription()
  248. {
  249. return $this->description;
  250. }
  251. /**
  252. * Set categories
  253. *
  254. * @param array $categories
  255. *
  256. * @return Product
  257. */
  258. public function setCategories(array $categories)
  259. {
  260. $this->categories = $categories;
  261. return $this;
  262. }
  263. /**
  264. * Get categories
  265. *
  266. * @return array
  267. */
  268. public function getCategories()
  269. {
  270. return $this->categories;
  271. }
  272. /**
  273. * Set datetimeStart
  274. *
  275. * @param \DateTime $datetimeStart
  276. *
  277. * @return Product
  278. */
  279. public function setDatetimeStart($datetimeStart)
  280. {
  281. $this->datetimeStart = $datetimeStart;
  282. return $this;
  283. }
  284. /**
  285. * Get datetimeStart
  286. *
  287. * @return \DateTime
  288. */
  289. public function getDatetimeStart()
  290. {
  291. return $this->datetimeStart;
  292. }
  293. /**
  294. * Set datetimeEnd
  295. *
  296. * @param \DateTime $datetimeEnd
  297. *
  298. * @return Product
  299. */
  300. public function setDatetimeEnd($datetimeEnd)
  301. {
  302. $this->datetimeEnd = $datetimeEnd;
  303. return $this;
  304. }
  305. /**
  306. * Get datetimeEnd
  307. *
  308. * @return \DateTime
  309. */
  310. public function getDatetimeEnd()
  311. {
  312. return $this->datetimeEnd;
  313. }
  314. /**
  315. * Set meetingSchedule
  316. *
  317. * @param array $meetingSchedule
  318. *
  319. * @return Product
  320. */
  321. public function setMeetingSchedule(array $meetingSchedule)
  322. {
  323. $this->meetingSchedule = $meetingSchedule;
  324. return $this;
  325. }
  326. /**
  327. * Get meetingSchedule
  328. *
  329. * @return array
  330. */
  331. public function getMeetingSchedule()
  332. {
  333. return $this->meetingSchedule;
  334. }
  335. /**
  336. * Set placeCode
  337. *
  338. * @param string $placeCode
  339. *
  340. * @return Product
  341. */
  342. public function setPlaceCode($placeCode)
  343. {
  344. $this->placeCode = $placeCode;
  345. return $this;
  346. }
  347. /**
  348. * Get placeCode
  349. *
  350. * @return string
  351. */
  352. public function getPlaceCode()
  353. {
  354. return $this->placeCode;
  355. }
  356. /**
  357. * Set place
  358. *
  359. * @param string $place
  360. *
  361. * @return Product
  362. */
  363. public function setPlace($place)
  364. {
  365. $this->place = $place;
  366. return $this;
  367. }
  368. /**
  369. * Get place
  370. *
  371. * @return string
  372. */
  373. public function getPlace()
  374. {
  375. return $this->place;
  376. }
  377. /**
  378. * Set streetAddress
  379. *
  380. * @param string $streetAddress
  381. *
  382. * @return Product
  383. */
  384. public function setStreetAddress($streetAddress)
  385. {
  386. $this->streetAddress = $streetAddress;
  387. return $this;
  388. }
  389. /**
  390. * Get streetAddress
  391. *
  392. * @return string
  393. */
  394. public function getStreetAddress()
  395. {
  396. return $this->streetAddress;
  397. }
  398. /**
  399. * Set postalCode
  400. *
  401. * @param string $postalCode
  402. *
  403. * @return Product
  404. */
  405. public function setPostalCode($postalCode)
  406. {
  407. $this->postalCode = $postalCode;
  408. return $this;
  409. }
  410. /**
  411. * Get postalCode
  412. *
  413. * @return string
  414. */
  415. public function getPostalCode()
  416. {
  417. return $this->postalCode;
  418. }
  419. /**
  420. * Set city
  421. *
  422. * @param string $city
  423. *
  424. * @return Product
  425. */
  426. public function setCity($city)
  427. {
  428. $this->city = $city;
  429. return $this;
  430. }
  431. /**
  432. * Get city
  433. *
  434. * @return string
  435. */
  436. public function getCity()
  437. {
  438. return $this->city;
  439. }
  440. /**
  441. * Set country
  442. *
  443. * @param string $country
  444. *
  445. * @return Product
  446. */
  447. public function setCountry($country)
  448. {
  449. $this->country = $country;
  450. return $this;
  451. }
  452. /**
  453. * Get country
  454. *
  455. * @return string
  456. */
  457. public function getCountry()
  458. {
  459. return $this->country;
  460. }
  461. /**
  462. * Set latitude
  463. *
  464. * @param string $latitude
  465. *
  466. * @return Product
  467. */
  468. public function setLatitude($latitude)
  469. {
  470. $this->latitude = $latitude;
  471. return $this;
  472. }
  473. /**
  474. * Get latitude
  475. *
  476. * @return string
  477. */
  478. public function getLatitude()
  479. {
  480. return $this->latitude;
  481. }
  482. /**
  483. * Set longitude
  484. *
  485. * @param string $longitude
  486. *
  487. * @return Product
  488. */
  489. public function setLongitude($longitude)
  490. {
  491. $this->longitude = $longitude;
  492. return $this;
  493. }
  494. /**
  495. * Get longitude
  496. *
  497. * @return string
  498. */
  499. public function getLongitude()
  500. {
  501. return $this->longitude;
  502. }
  503. /**
  504. * Set mediumimage
  505. *
  506. * @param string $mediumimage
  507. *
  508. * @return Product
  509. */
  510. public function setMediumimage($mediumimage)
  511. {
  512. $this->mediumimage = $mediumimage;
  513. return $this;
  514. }
  515. /**
  516. * Get mediumimage
  517. *
  518. * @return string
  519. */
  520. public function getMediumimage()
  521. {
  522. return $this->mediumimage;
  523. }
  524. /**
  525. * Set largeimage
  526. *
  527. * @param string $largeimage
  528. *
  529. * @return Product
  530. */
  531. public function setLargeimage($largeimage)
  532. {
  533. $this->largeimage = $largeimage;
  534. return $this;
  535. }
  536. /**
  537. * Get largeimage
  538. *
  539. * @return string
  540. */
  541. public function getLargeimage()
  542. {
  543. return $this->largeimage;
  544. }
  545. /**
  546. * Set deepLink
  547. *
  548. * @param string $deepLink
  549. *
  550. * @return Product
  551. */
  552. public function setDeepLink($deepLink)
  553. {
  554. $this->deepLink = $deepLink;
  555. return $this;
  556. }
  557. /**
  558. * Get deepLink
  559. *
  560. * @return string
  561. */
  562. public function getDeepLink()
  563. {
  564. return $this->deepLink;
  565. }
  566. /**
  567. * Set priceMini
  568. *
  569. * @param float $priceMini
  570. *
  571. * @return Product
  572. */
  573. public function setPriceMini($priceMini)
  574. {
  575. $this->priceMini = $priceMini;
  576. return $this;
  577. }
  578. /**
  579. * Get priceMini
  580. *
  581. * @return float
  582. */
  583. public function getPriceMini()
  584. {
  585. return $this->priceMini;
  586. }
  587. /**
  588. * Set priceMaxi
  589. *
  590. * @param float $priceMaxi
  591. *
  592. * @return Product
  593. */
  594. public function setPriceMaxi($priceMaxi)
  595. {
  596. $this->priceMaxi = $priceMaxi;
  597. return $this;
  598. }
  599. /**
  600. * Get priceMaxi
  601. *
  602. * @return float
  603. */
  604. public function getPriceMaxi()
  605. {
  606. return $this->priceMaxi;
  607. }
  608. /**
  609. * Set artists
  610. *
  611. * @param string $artists
  612. *
  613. * @return Product
  614. */
  615. public function setArtists($artists)
  616. {
  617. $this->artists = $artists;
  618. return $this;
  619. }
  620. /**
  621. * Get artists
  622. *
  623. * @return string
  624. */
  625. public function getArtists()
  626. {
  627. return $this->artists;
  628. }
  629. }