/** * Add Coupons to Order Item */ protected function addCoupons() { /** * @var $cartCoupon \Extcode\Cart\Domain\Model\Cart\CartCoupon */ foreach ($this->cart->getCoupons() as $cartCoupon) { if ($cartCoupon->getIsUseable()) { $orderDiscount = new \Extcode\Cart\Domain\Model\Order\Discount($cartCoupon->getTitle(), $cartCoupon->getCode(), $cartCoupon->getGross(), $cartCoupon->getNet(), $cartCoupon->getTaxClass(), $cartCoupon->getTax()); $orderDiscount->setPid($this->storagePid); $this->orderDiscountRepository->add($orderDiscount); $this->orderItem->addDiscount($orderDiscount); $coupon = $this->productCouponRepository->findOneByCode($cartCoupon->getCode()); $coupon->incNumberUsed(); $this->productCouponRepository->update($coupon); } } }