Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

246 lines
7.3KB

  1. <?php
  2. namespace Lc\CaracoleBundle\Model\Product;
  3. use Doctrine\Common\Collections\Collection;
  4. use Lc\CaracoleBundle\Model\Reduction\ReductionCatalogInterface;
  5. use Lc\CaracoleBundle\Model\Section\SectionInterface;
  6. use Lc\SovBundle\Model\File\FileInterface;
  7. /**
  8. * @ORM\MappedSuperclass()
  9. */
  10. interface ProductFamilyInterface
  11. {
  12. public function getBehaviorCountStockChoices(): array;
  13. public function getBehaviorDisplaySaleChoices(): array;
  14. public function getBehaviorStockCycleChoices(): array;
  15. public function getWaringMessageTypeChoices(): array;
  16. public function getBehaviorAddToCartChoices(): array;
  17. public function getBehaviorPriceChoices(): array;
  18. public function getPropertyOrganicLabelChoices(): array;
  19. public function getTypeExpirationDateChoices(): array;
  20. public function getBehaviorExpirationDateChoices(): array;
  21. public function getSection(): SectionInterface;
  22. public function setSection(SectionInterface $section): ProductFamilyModel;
  23. public function getAvailableQuantityInherited();
  24. public function getTaxRateInherited();
  25. public function getActiveProducts(): ?bool;
  26. public function setActiveProducts(bool $activeProducts): ProductFamilyModel;
  27. public function getProductsQuantityAsTitle(): ?bool;
  28. public function setProductsQuantityAsTitle(bool $productsQuantityAsTitle
  29. ): ProductFamilyModel;
  30. public function getProductsType(): ?string;
  31. public function setProductsType(?string $productsType): ProductFamilyModel;
  32. public function getQuantityLabel(): ?string;
  33. public function setQuantityLabel(?string $quantityLabel): ProductFamilyModel;
  34. /**
  35. * @return Collection|ProductInterface[]
  36. */
  37. public function getProducts(): Collection;
  38. public function getProductsOnline(): Collection;
  39. public function addProduct(ProductInterface $product): ProductFamilyModel;
  40. public function removeProduct(ProductInterface $product): ProductFamilyModel;
  41. public function getReductionCatalog(): ?ReductionCatalogInterface;
  42. public function getReductionCatalogInherited(): ?ReductionCatalogInterface;
  43. public function setReductionCatalog(?ReductionCatalogInterface $reductionCatalog
  44. ): ProductFamilyModel;
  45. /**
  46. * @return Collection|ProductCategoryInterface[]
  47. */
  48. public function getProductCategories(): Collection;
  49. public function initProductCategories();
  50. public function addProductCategory(ProductCategoryInterface $productCategory
  51. ): ProductFamilyModel;
  52. public function removeProductCategory(ProductCategoryInterface $productCategory
  53. ): ProductFamilyModel;
  54. public function getProductCategoryParent();
  55. public function getProductCategoryChild();
  56. public function getSubtitle(): ?string;
  57. public function setSubtitle(?string $subtitle): ProductFamilyModel;
  58. public function getWarningMessage(): ?string;
  59. public function setWarningMessage(?string $warningMessage): ProductFamilyModel;
  60. public function getWarningMessageType(): ?string;
  61. public function setWarningMessageType(?string $warningMessageType
  62. ): ProductFamilyModel;
  63. public function getNote(): ?string;
  64. public function setNote(?string $note): ProductFamilyModel;
  65. public function getBehaviorOutOfStock(): ?string;
  66. public function setBehaviorOutOfStock(?string $behaviorOutOfStock
  67. ): ProductFamilyModel;
  68. public function getBehaviorCountStock(): ?string;
  69. public function setBehaviorCountStock(string $behaviorCountStock
  70. ): ProductFamilyModel;
  71. public function getExportTitle(): ?string;
  72. public function setExportTitle(?string $exportTitle): ProductFamilyModel;
  73. public function getExportNote(): ?string;
  74. public function setExportNote(?string $exportNote): ProductFamilyModel;
  75. public function getBehaviorStockCycle(): ?string;
  76. public function setBehaviorStockCycle(string $behaviorStockWeek
  77. ): ProductFamilyModel;
  78. public function getAvailabilityRenewedThisWeek(): ?bool;
  79. public function setAvailabilityRenewedThisWeek(?bool $availabilityRenewedThisWeek
  80. ): ProductFamilyModel;
  81. public function getBehaviorDisplaySale(): ?string;
  82. public function setBehaviorDisplaySale(string $behaviorDisplaySale
  83. ): ProductFamilyModel;
  84. public function isPropertyNoveltyOnline(): ?bool;
  85. public function getPropertyNoveltyExpirationDate(): ?\DateTimeInterface;
  86. public function setPropertyNoveltyExpirationDate(?\DateTimeInterface $propertyNoveltyExpirationDate
  87. ): ProductFamilyModel;
  88. public function getPropertyOrganicLabel(): ?string;
  89. public function setPropertyOrganicLabel(?string $propertyOrganicLabel
  90. ): ProductFamilyModel;
  91. public function getPropertyAllergens(): ?string;
  92. public function setPropertyAllergens(?string $propertyAllergens
  93. ): ProductFamilyModel;
  94. public function getPropertyComposition(): ?string;
  95. public function setPropertyComposition(?string $propertyComposition
  96. ): ProductFamilyModel;
  97. public function getPropertyFragrances(): ?string;
  98. public function setPropertyFragrances(?string $propertyFragrances
  99. ): ProductFamilyModel;
  100. public function countProperties(): bool;
  101. public function getBehaviorExpirationDate(): ?string;
  102. public function setBehaviorExpirationDate(?string $behaviorExpirationDate
  103. ): ProductFamilyModel;
  104. public function getTypeExpirationDate(): ?string;
  105. public function setTypeExpirationDate(?string $typeExpirationDate
  106. ): ProductFamilyModel;
  107. public function getPropertyWeight(): ?string;
  108. public function setPropertyWeight(?string $propertyWeight): ProductFamilyModel;
  109. public function getPropertyQuantity(): ?string;
  110. public function setPropertyQuantity(?string $propertyQuantity): ProductFamilyModel;
  111. public function getPropertyVariety(): ?string;
  112. public function setPropertyVariety(?string $propertyVariety): ProductFamilyModel;
  113. public function getPropertyFeature(): ?string;
  114. public function setPropertyFeature(?string $propertyFeature): ProductFamilyModel;
  115. public function getPropertyAlcoholLevel(): ?string;
  116. public function setPropertyAlcoholLevel(?string $propertyAlcoholLevel
  117. ): ProductFamilyModel;
  118. public function getPropertyPackaging(): ?string;
  119. public function setPropertyPackaging(?string $propertyPackaging
  120. ): ProductFamilyModel;
  121. public function getPropertyCharacteristics(): ?string;
  122. public function setPropertyCharacteristics(?string $propertyCharacteristics
  123. ): ProductFamilyModel;
  124. public function getBehaviorAddToCart(): ?string;
  125. public function setBehaviorAddToCart(?string $behaviorAddToCart
  126. ): ProductFamilyModel;
  127. public function getBehaviorPrice(): ?string;
  128. public function getBehaviorPriceInherited();
  129. public function setBehaviorPrice(?string $behaviorPrice): ProductFamilyModel;
  130. public function hasProductsWithVariousWeight();
  131. public function getProductsGroupByTitle();
  132. public function getOriginProduct();
  133. public function getOriginProductOnline();
  134. public function hasOneProductOnline();
  135. public function getSaleStatus(): ?bool;
  136. public function setSaleStatus(bool $saleStatus): ProductFamilyModel;
  137. public function getFieldBuyingPrice();
  138. public function getFieldPrice();
  139. public function getImage(): ?FileInterface;
  140. public function setImage(?FileInterface $image): ProductFamilyModel;
  141. }