query = $query; $this->reductionCartSolver = $reductionCartSolver; $this->priceSolver = $priceSolver; } public function orderByDefault(RepositoryQueryInterface $query): RepositoryQueryInterface { $query->orderBy('id'); return $query; } public function filtersDefault(RepositoryQueryInterface $query): RepositoryQueryInterface { $this->addFilterByMerchantRequired($query); $query->filterIsOnlineAndOffline(); return $query; } public function relationsDefault(RepositoryQueryInterface $query): RepositoryQueryInterface { return $query; } // getReductionCartByCode public function getByCode(string $code, $query = null) { $query = $this->createDefaultQuery($query); $query->filterByCode($code); $reductionCarts = $query->find(); $findReductionCart = null; foreach ($reductionCarts as $reductionCart) { if ($reductionCart && in_array($code, $reductionCart->getCodes())) { $findReductionCart = $reductionCart; } } return $findReductionCart; } //Toutes les reductionCart d'un utilisateur inter/merchant public function getByUserOutOfContext(UserInterface $user, $query = null) { $query = $this->createQuery($query); $query->filterIsOnlineAndOffline(); $query->filterByUser($user); return $query->find(); } }