Example #1
0
 /**
  * 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);
         }
     }
 }