- <?php
-
- namespace domain\Product\ProductPrice\Repository;
-
- use domain\PointSale\PointSale\PointSale;
- use domain\Product\Product\Product;
- use domain\Product\ProductPrice\Service\ProductPriceDefinition;
- use domain\User\User\User;
- use domain\User\UserGroup\UserGroup;
- use domain\_\AbstractRepositoryQuery;
-
- class ProductPriceRepositoryQuery extends AbstractRepositoryQuery
- {
- protected ProductPriceDefinition $definition;
-
- public function loadDependencies(): void
- {
- $this->loadDefinition(ProductPriceDefinition::class);
- }
-
- public function filterByProduct(Product $product): self
- {
- $this->andWhere(['id_product' => $product->id]);
- return $this;
- }
-
- public function filterByUser(User $user): self
- {
- $this->andWhere(['id_user' => $user->id]);
- return $this;
- }
-
- public function filterByUserGroup(UserGroup $userGroup): self
- {
- $this->andWhere(['id_user_group' => $userGroup->id]);
- return $this;
- }
-
- public function filterByPointSale(PointSale $pointSale): self
- {
- $this->andWhere(['id_point_sale' => $pointSale->id]);
- return $this;
- }
-
- public function filterByFromQuantity(float $fromQuantity): self
- {
- $this->andWhere(['from_quantity' => $fromQuantity]);
- return $this;
- }
- }
|