Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

143 lines
4.3KB

  1. <?php
  2. namespace Lc\CaracoleBundle\Model\Reduction;
  3. use Doctrine\Common\Collections\Collection;
  4. use Lc\CaracoleBundle\Model\Merchant\MerchantInterface;
  5. use Lc\CaracoleBundle\Model\PointSale\PointSaleInterface;
  6. use Lc\SovBundle\Model\User\GroupUserInterface;
  7. use Lc\SovBundle\Model\User\UserInterface;
  8. interface ReductionCartInterface
  9. {
  10. public function getCreatedBy(): ?UserInterface;
  11. public function setCreatedBy(?UserInterface $createdBy);
  12. public function getUpdatedBy(): ?UserInterface;
  13. public function setUpdatedBy(?UserInterface $updatedBy);
  14. public function getDevAlias(): ?string;
  15. public function setDevAlias(?string $devAlias);
  16. public function getOrderAmountMin(): ?float;
  17. public function setOrderAmountMin(float $orderAmountMin): ReductionCartInterface;
  18. public function getTitle(): ?string;
  19. public function setTitle(string $title);
  20. public function getMerchant(): MerchantInterface;
  21. public function setMerchant(MerchantInterface $merchant): ReductionCartInterface;
  22. public function getCodes(): ?array;
  23. public function setCodes(?array $codes): ReductionCartInterface;
  24. /**
  25. * @return Collection|PointSaleInterface[]
  26. */
  27. public function getPointSales(): Collection;
  28. public function addPointSale(PointSaleInterface $pointSale): ReductionCartInterface;
  29. public function removePointSale(PointSaleInterface $pointSale
  30. ): ReductionCartInterface;
  31. public function getAvailableQuantity(): ?int;
  32. public function setAvailableQuantity(int $availableQuantity): ReductionCartInterface;
  33. public function getAvailableQuantityPerUser(): ?int;
  34. public function setAvailableQuantityPerUser(int $availableQuantityPerUser
  35. ): ReductionCartInterface;
  36. public function getUncombinables(): Collection;
  37. public function addUncombinable(ReductionCartInterface $uncombinable): ReductionCartInterface;
  38. public function removeUncombinables(ReductionCartInterface $uncombinable): ReductionCartInterface;
  39. public function getUncombinableTypes(): ?array;
  40. public function setUncombinableTypes(?array $uncombinableTypes
  41. ): ReductionCartInterface;
  42. public function getAvailableQuantityPerCode(): ?int;
  43. public function setAvailableQuantityPerCode(int $availableQuantityPerCode
  44. ): ReductionCartInterface;
  45. public function getFreeShipping(): ?bool;
  46. public function setFreeShipping(?bool $freeShipping): ReductionCartInterface;
  47. public function getAppliedTo(): ?string;
  48. public function setAppliedTo(string $appliedTo): ReductionCartInterface;
  49. public function getType(): ?string;
  50. public function setType(string $type): ReductionCartInterface;
  51. /**
  52. * @return Collection|UserInterface[]
  53. */
  54. public function getUsers(): Collection;
  55. public function addUser(UserInterface $user): ReductionCartInterface;
  56. public function removeUser(UserInterface $user): ReductionCartInterface;
  57. /**
  58. * @return Collection|GroupUserInterface[]
  59. */
  60. public function getGroupUsers(): Collection;
  61. public function addGroupUser(GroupUserInterface $groupUser): ReductionCartInterface;
  62. public function removeGroupUser(GroupUserInterface $groupUser
  63. ): ReductionCartInterface;
  64. public function getDateStart(): ?\DateTimeInterface;
  65. public function setDateStart(?\DateTimeInterface $dateStart): ReductionCartInterface;
  66. public function getDateEnd(): ?\DateTimeInterface;
  67. public function setDateEnd(?\DateTimeInterface $dateEnd): ReductionCartInterface;
  68. public function getPermanent(): ?bool;
  69. public function setPermanent(bool $permanent): ReductionCartInterface;
  70. public function getValue(): ?float;
  71. public function setValue(?float $value): ReductionCartInterface;
  72. public function getUnit(): ?string;
  73. public function setUnit(?string $unit): ReductionCartInterface;
  74. public function getBehaviorTaxRate(): ?string;
  75. public function setBehaviorTaxRate(?string $behaviorTaxRate): ReductionCartInterface;
  76. public function getStatus(): ?float;
  77. public function setStatus(float $status);
  78. public function getCreatedAt(): ?\DateTimeInterface;
  79. public function setCreatedAt(\DateTimeInterface $createdAt);
  80. public function getUpdatedAt(): ?\DateTimeInterface;
  81. public function setUpdatedAt(\DateTimeInterface $updatedAt);
  82. }