WellCommerce\Bundle\CouponBundle\Visitor\CouponOrderVisitor::visitOrder PHP Method

visitOrder() public method

public visitOrder ( WellCommerce\Bundle\OrderBundle\Entity\OrderInterface $order )
$order WellCommerce\Bundle\OrderBundle\Entity\OrderInterface
    public function visitOrder(OrderInterface $order)
    {
        if ($order->hasCoupon()) {
            $coupon = $order->getCoupon();
            $modifierValue = $this->calculateCouponModifier($coupon, $order);
            $modifier = $this->orderModifierProvider->getOrderModifier($order, 'coupon_discount');
            $modifier->setCurrency($order->getCurrency());
            $modifier->setGrossAmount($order->getProductTotal()->getGrossPrice() * $modifierValue);
            $modifier->setNetAmount($order->getProductTotal()->getNetPrice() * $modifierValue);
            $modifier->setTaxAmount($order->getProductTotal()->getTaxAmount() * $modifierValue);
        } else {
            $order->removeModifier('coupon_discount');
        }
    }