getUnit() == $orderProductReductionCatalog2->getUnit() && (string) $orderProductReductionCatalog1->getValue() == (string) $orderProductReductionCatalog2->getValue() && $orderProductReductionCatalog1->getBehaviorTaxRate() == $orderProductReductionCatalog2->getBehaviorTaxRate()) ; } public function getSummaryOrderProductReductionCatalog($orderProductReductionCatalog) { $text = ''; if ($orderProductReductionCatalog) { if ($orderProductReductionCatalog->getUnit() == 'amount') { $text .= '- ' . $orderProductReductionCatalog->getValue() . ' €'; } if ($orderProductReductionCatalog->getUnit() == 'percent') { $text .= '- ' . $orderProductReductionCatalog->getValue() . ' %'; } } return $text; } public function createOrderReductionCart(OrderShopInterface $orderShop, ReductionCartInterface $reductionCart) { $orderReductionCartClass = $this->em->getClassMetadata(OrderReductionCartInterface::class); $orderReductionCart = new $orderReductionCartClass->name; $orderReductionCart->setOrderShop($orderShop); $orderReductionCart->setReductionCart($reductionCart); $orderReductionCart->setTitle($reductionCart->getTitle()); $orderReductionCart->setValue($reductionCart->getValue()); $orderReductionCart->setUnit($reductionCart->getUnit()); $orderReductionCart->setBehaviorTaxRate($reductionCart->getBehaviorTaxRate()); $orderReductionCart->setFreeShipping($reductionCart->getFreeShipping()); $orderReductionCart->setAppliedTo($reductionCart->getAppliedTo()); $orderReductionCart->setType($reductionCart->getType()); $this->em->persist($orderReductionCart) ; $this->em->flush() ; return $orderReductionCart; } public function isReductionCreditAllowToBeAddToOrder($orderShop, $reductionCredit){ if($this->orderShopRepo->findValidOrderWithReductionCredit($reductionCredit, $orderShop->getUser())>0){ return false; }else{ return true; } } public function createOrderReductionCredit(OrderShopInterface $orderShop, ReductionCreditInterface $reductionCredit) { $orderReductionCreditClass = $this->em->getClassMetadata(OrderReductionCreditInterface::class); $orderReductionCredit = new $orderReductionCreditClass->name; $orderReductionCredit->setOrderShop($orderShop); $orderReductionCredit->setReductionCredit($reductionCredit); $orderReductionCredit->setTitle($reductionCredit->getTitle()); $orderReductionCredit->setValue($reductionCredit->getValue()); $orderReductionCredit->setUnit($reductionCredit->getUnit()); $orderReductionCredit->setBehaviorTaxRate($reductionCredit->getBehaviorTaxRate()); return $orderReductionCredit; } /*public function getReductionCreditsAvailable($order) { $reductionCreditRepo = $this->em->getRepository(ReductionCreditInterface::class); $reductionCredits = $reductionCreditRepo->getReductionCreditByUser($order->getUser()); foreach ($reductionCredits as $reductionCredit){ } }*/ }