Example #1
0
 /**
  * Quote item discount calculation process
  *
  * @param AbstractItem $item
  * @return $this
  */
 public function process(AbstractItem $item)
 {
     $item->setDiscountAmount(0);
     $item->setBaseDiscountAmount(0);
     $item->setDiscountPercent(0);
     $itemPrice = $this->getItemPrice($item);
     if ($itemPrice < 0) {
         return $this;
     }
     $appliedRuleIds = $this->rulesApplier->applyRules($item, $this->_getRules(), $this->_skipActionsValidation, $this->getCouponCode());
     $this->rulesApplier->setAppliedRuleIds($item, $appliedRuleIds);
     return $this;
 }
Example #2
0
 /**
  * @param \Magento\SalesRule\Model\Rule\Action\Discount\Data $discountData
  * @param \Magento\Sales\Model\Quote\Item\AbstractItem $item
  * @return $this
  */
 protected function setDiscountData($discountData, $item)
 {
     $item->setDiscountAmount($discountData->getAmount());
     $item->setBaseDiscountAmount($discountData->getBaseAmount());
     $item->setOriginalDiscountAmount($discountData->getOriginalAmount());
     $item->setBaseOriginalDiscountAmount($discountData->getBaseOriginalAmount());
     return $this;
 }