Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

174 lines
5.2KB

  1. <?php
  2. namespace Lc\CaracoleBundle\Model\Section;
  3. use Doctrine\Common\Collections\Collection;
  4. use Lc\CaracoleBundle\Model\Merchant\MerchantInterface;
  5. use Lc\CaracoleBundle\Model\Order\OrderShopInterface;
  6. use Lc\CaracoleBundle\Model\PointSale\PointSaleSectionInterface;
  7. use Lc\CaracoleBundle\Model\Product\ProductCategoryInterface;
  8. use Lc\CaracoleBundle\Model\Product\ProductFamilySectionPropertyInterface;
  9. use Lc\CaracoleBundle\Model\Setting\SectionSettingInterface;
  10. use Lc\SovBundle\Model\Newsletter\NewsletterInterface;
  11. use Lc\SovBundle\Model\Site\NewsInterface;
  12. use Lc\SovBundle\Model\Site\PageInterface;
  13. use Lc\SovBundle\Model\User\UserInterface;
  14. interface SectionInterface
  15. {
  16. public function getTitle(): ?string;
  17. public function setTitle(string $title);
  18. public function getDescription(): ?string;
  19. public function setDescription(?string $description);
  20. public function getCreatedBy(): ?UserInterface;
  21. public function setCreatedBy(?UserInterface $createdBy);
  22. public function getUpdatedBy(): ?UserInterface;
  23. public function setUpdatedBy(?UserInterface $updatedBy);
  24. public function getDevAlias(): ?string;
  25. public function setDevAlias(?string $devAlias);
  26. public function getMerchant(): ?MerchantInterface;
  27. public function setMerchant(?MerchantInterface $merchant): SectionInterface;
  28. public function getColor(): ?string;
  29. public function setColor(string $color): SectionInterface;
  30. public function getCycleType(): ?string;
  31. public function setCycleType(string $cycleType): SectionInterface;
  32. /**
  33. * @return Collection|OrderShopInterface[]
  34. */
  35. public function getOrderShops(): Collection;
  36. public function addOrderShop(OrderShopInterface $orderShop): SectionInterface;
  37. public function removeOrderShop(OrderShopInterface $orderShop): SectionInterface;
  38. /**
  39. * @return Collection|ProductCategoryInterface[]
  40. */
  41. public function getProductCategories(): Collection;
  42. public function addProductCategory(ProductCategoryInterface $productCategory
  43. ): SectionInterface;
  44. public function removeProductCategory(ProductCategoryInterface $productCategory
  45. ): SectionInterface;
  46. /**
  47. * @return Collection|PageInterface[]
  48. */
  49. public function getPages(): Collection;
  50. public function addPage(PageInterface $page): SectionInterface;
  51. public function removePage(PageInterface $page): SectionInterface;
  52. /**
  53. * @return Collection|NewsInterface[]
  54. */
  55. public function getNews(): Collection;
  56. public function addNews(NewsInterface $news): SectionInterface;
  57. public function removeNews(NewsInterface $news): SectionInterface;
  58. /**
  59. * @return Collection|NewsletterInterface[]
  60. */
  61. public function getNewsletters(): Collection;
  62. public function addNewsletter(NewsletterInterface $newsletter): SectionInterface;
  63. public function removeNewsletter(NewsletterInterface $newsletter): SectionInterface;
  64. public function getIsDefault(): ?bool;
  65. public function setIsDefault(?bool $isDefault): SectionInterface;
  66. /**
  67. * @return Collection|SectionSettingInterface[]
  68. */
  69. public function getSettings(): Collection;
  70. public function addSetting(SectionSettingInterface $sectionSetting): SectionInterface;
  71. public function removeSetting(SectionSettingInterface $sectionSetting
  72. ): SectionInterface;
  73. /**
  74. * @return Collection|OpeningInterface[]
  75. */
  76. public function getOpenings(): Collection;
  77. public function addOpening(OpeningInterface $opening): SectionInterface;
  78. public function removeOpening(OpeningInterface $opening): SectionInterface;
  79. /**
  80. * @return Collection|ProductFamilySectionPropertyInterface[]
  81. */
  82. public function getProductFamilySectionProperties(): Collection;
  83. public function addProductFamilySectionProperty(ProductFamilySectionPropertyInterface $productFamilySectionProperty
  84. ): SectionInterface;
  85. public function removeProductFamilySectionProperty(
  86. ProductFamilySectionPropertyInterface $productFamilySectionProperty
  87. ): SectionInterface;
  88. public function getMetaTitle(): ?string;
  89. public function setMetaTitle(?string $metaTitle);
  90. public function getMetaDescription(): ?string;
  91. public function setMetaDescription(?string $metaDescription);
  92. public function setOldUrls($oldUrls);
  93. public function getOldUrls(): ?array;
  94. public function getSlug(): ?string;
  95. public function setSlug(?string $slug);
  96. public function getPosition(): float;
  97. public function setPosition(float $position);
  98. public function clearPosition();
  99. public function getStatus(): ?float;
  100. public function setStatus(float $status);
  101. public function getCreatedAt(): ?\DateTimeInterface;
  102. public function setCreatedAt(\DateTimeInterface $createdAt);
  103. public function getUpdatedAt(): ?\DateTimeInterface;
  104. public function setUpdatedAt(\DateTimeInterface $updatedAt);
  105. /**
  106. * @return Collection|PointSaleSectionInterface[]
  107. */
  108. public function getPointSaleSections(): Collection;
  109. public function addPointSaleSection(PointSaleSectionInterface $pointSaleSection): SectionInterface;
  110. public function removePointSaleSection(PointSaleSectionInterface $pointSaleSection): SectionInterface;
  111. }