<?php namespace Lc\CaracoleBundle\Model\Reduction; use Doctrine\Common\Collections\Collection; use Lc\CaracoleBundle\Model\Merchant\MerchantInterface; use Lc\CaracoleBundle\Model\Product\ProductCategoryInterface; use Lc\CaracoleBundle\Model\Product\ProductFamilyInterface; use Lc\SovBundle\Model\User\GroupUserInterface; use Lc\SovBundle\Model\User\UserInterface; interface ReductionCatalogInterface { public function getCreatedBy(): ?UserInterface; public function setCreatedBy(?UserInterface $createdBy); public function getUpdatedBy(): ?UserInterface; public function setUpdatedBy(?UserInterface $updatedBy); public function getDevAlias(): ?string; public function setDevAlias(?string $devAlias); public function getTitle(): ?string; public function setTitle(string $title): ReductionCatalogInterface; public function getMerchant(): MerchantInterface; public function setMerchant(MerchantInterface $merchant): ReductionCatalogInterface; /** * @return Collection|ProductFamilyInterface[] */ public function getProductFamilies(): Collection; public function addProductFamily(ProductFamilyInterface $productFamily ): ReductionCatalogInterface; public function removeProductFamily(ProductFamilyInterface $productFamily ): ReductionCatalogInterface; public function getProductFamily(): ?ProductFamilyInterface; public function setProductFamily(?ProductFamilyInterface $productFamily ): ReductionCatalogInterface; /** * @return Collection|ProductCategoryInterface[] */ public function getProductCategories(): Collection; public function addProductCategory(ProductCategoryInterface $productCategory ): ReductionCatalogInterface; public function removeProductCategory(ProductCategoryInterface $productCategory ): ReductionCatalogInterface; /** * @return Collection|UserInterface[] */ public function getUsers(): Collection; public function addUser(UserInterface $user): ReductionCatalogInterface; public function removeUser(UserInterface $user): ReductionCatalogInterface; /** * @return Collection|GroupUserInterface[] */ public function getGroupUsers(): Collection; public function addGroupUser(GroupUserInterface $groupUser ): ReductionCatalogInterface; public function removeGroupUser(GroupUserInterface $groupUser ): ReductionCatalogInterface; public function getDateStart(): ?\DateTimeInterface; public function setDateStart(?\DateTimeInterface $dateStart ): ReductionCatalogInterface; public function getDateEnd(): ?\DateTimeInterface; public function setDateEnd(?\DateTimeInterface $dateEnd): ReductionCatalogInterface; public function getPermanent(): ?bool; public function setPermanent(bool $permanent): ReductionCatalogInterface; public function getValue(): ?float; public function setValue(?float $value): ReductionCatalogInterface; public function getUnit(): ?string; public function setUnit(?string $unit): ReductionCatalogInterface; public function getBehaviorTaxRate(): ?string; public function setBehaviorTaxRate(?string $behaviorTaxRate ): ReductionCatalogInterface; public function getStatus(): ?float; public function setStatus(float $status); public function getCreatedAt(): ?\DateTimeInterface; public function setCreatedAt(\DateTimeInterface $createdAt ); public function getUpdatedAt(): ?\DateTimeInterface; public function setUpdatedAt(\DateTimeInterface $updatedAt ); }