<?php namespace Lc\CaracoleBundle\Model\Product; use Doctrine\Common\Collections\Collection; use Lc\CaracoleBundle\Model\Reduction\ReductionCatalogInterface; use Lc\CaracoleBundle\Model\Section\SectionInterface; use Lc\SovBundle\Model\File\FileInterface; /** * @ORM\MappedSuperclass() */ interface ProductFamilyInterface { public function getBehaviorCountStockChoices(): array; public function getBehaviorDisplaySaleChoices(): array; public function getBehaviorStockCycleChoices(): array; public function getWaringMessageTypeChoices(): array; public function getBehaviorAddToCartChoices(): array; public function getBehaviorPriceChoices(): array; public function getPropertyOrganicLabelChoices(): array; public function getTypeExpirationDateChoices(): array; public function getBehaviorExpirationDateChoices(): array; public function getSection(): SectionInterface; public function setSection(SectionInterface $section): ProductFamilyModel; public function getAvailableQuantityInherited(); public function getTaxRateInherited(); public function getActiveProducts(): ?bool; public function setActiveProducts(bool $activeProducts): ProductFamilyModel; public function getProductsQuantityAsTitle(): ?bool; public function setProductsQuantityAsTitle(bool $productsQuantityAsTitle ): ProductFamilyModel; public function getProductsType(): ?string; public function setProductsType(?string $productsType): ProductFamilyModel; public function getQuantityLabel(): ?string; public function setQuantityLabel(?string $quantityLabel): ProductFamilyModel; /** * @return Collection|ProductInterface[] */ public function getProducts(): Collection; public function getProductsOnline(): Collection; public function addProduct(ProductInterface $product): ProductFamilyModel; public function removeProduct(ProductInterface $product): ProductFamilyModel; public function getReductionCatalog(): ?ReductionCatalogInterface; public function getReductionCatalogInherited(): ?ReductionCatalogInterface; public function setReductionCatalog(?ReductionCatalogInterface $reductionCatalog ): ProductFamilyModel; /** * @return Collection|ProductCategoryInterface[] */ public function getProductCategories(): Collection; public function initProductCategories(); public function addProductCategory(ProductCategoryInterface $productCategory ): ProductFamilyModel; public function removeProductCategory(ProductCategoryInterface $productCategory ): ProductFamilyModel; public function getProductCategoryParent(); public function getProductCategoryChild(); public function getSubtitle(): ?string; public function setSubtitle(?string $subtitle): ProductFamilyModel; public function getWarningMessage(): ?string; public function setWarningMessage(?string $warningMessage): ProductFamilyModel; public function getWarningMessageType(): ?string; public function setWarningMessageType(?string $warningMessageType ): ProductFamilyModel; public function getNote(): ?string; public function setNote(?string $note): ProductFamilyModel; public function getBehaviorOutOfStock(): ?string; public function setBehaviorOutOfStock(?string $behaviorOutOfStock ): ProductFamilyModel; public function getBehaviorCountStock(): ?string; public function setBehaviorCountStock(string $behaviorCountStock ): ProductFamilyModel; public function getExportTitle(): ?string; public function setExportTitle(?string $exportTitle): ProductFamilyModel; public function getExportNote(): ?string; public function setExportNote(?string $exportNote): ProductFamilyModel; public function getBehaviorStockCycle(): ?string; public function setBehaviorStockCycle(string $behaviorStockWeek ): ProductFamilyModel; public function getAvailabilityRenewedThisWeek(): ?bool; public function setAvailabilityRenewedThisWeek(?bool $availabilityRenewedThisWeek ): ProductFamilyModel; public function getBehaviorDisplaySale(): ?string; public function setBehaviorDisplaySale(string $behaviorDisplaySale ): ProductFamilyModel; public function isPropertyNoveltyOnline(): ?bool; public function getPropertyNoveltyExpirationDate(): ?\DateTimeInterface; public function setPropertyNoveltyExpirationDate(?\DateTimeInterface $propertyNoveltyExpirationDate ): ProductFamilyModel; public function getPropertyOrganicLabel(): ?string; public function setPropertyOrganicLabel(?string $propertyOrganicLabel ): ProductFamilyModel; public function getPropertyAllergens(): ?string; public function setPropertyAllergens(?string $propertyAllergens ): ProductFamilyModel; public function getPropertyComposition(): ?string; public function setPropertyComposition(?string $propertyComposition ): ProductFamilyModel; public function getPropertyFragrances(): ?string; public function setPropertyFragrances(?string $propertyFragrances ): ProductFamilyModel; public function countProperties(): bool; public function getBehaviorExpirationDate(): ?string; public function setBehaviorExpirationDate(?string $behaviorExpirationDate ): ProductFamilyModel; public function getTypeExpirationDate(): ?string; public function setTypeExpirationDate(?string $typeExpirationDate ): ProductFamilyModel; public function getPropertyWeight(): ?string; public function setPropertyWeight(?string $propertyWeight): ProductFamilyModel; public function getPropertyQuantity(): ?string; public function setPropertyQuantity(?string $propertyQuantity): ProductFamilyModel; public function getPropertyVariety(): ?string; public function setPropertyVariety(?string $propertyVariety): ProductFamilyModel; public function getPropertyFeature(): ?string; public function setPropertyFeature(?string $propertyFeature): ProductFamilyModel; public function getPropertyAlcoholLevel(): ?string; public function setPropertyAlcoholLevel(?string $propertyAlcoholLevel ): ProductFamilyModel; public function getPropertyPackaging(): ?string; public function setPropertyPackaging(?string $propertyPackaging ): ProductFamilyModel; public function getPropertyCharacteristics(): ?string; public function setPropertyCharacteristics(?string $propertyCharacteristics ): ProductFamilyModel; public function getBehaviorAddToCart(): ?string; public function setBehaviorAddToCart(?string $behaviorAddToCart ): ProductFamilyModel; public function getBehaviorPrice(): ?string; public function getBehaviorPriceInherited(); public function setBehaviorPrice(?string $behaviorPrice): ProductFamilyModel; public function hasProductsWithVariousWeight(); public function getProductsGroupByTitle(); public function getOriginProduct(); public function getOriginProductOnline(); public function hasOneProductOnline(); public function getSaleStatus(): ?bool; public function setSaleStatus(bool $saleStatus): ProductFamilyModel; public function getFieldBuyingPrice(); public function getFieldPrice(); public function getImage(): ?FileInterface; public function setImage(?FileInterface $image): ProductFamilyModel; }