Example #1
0
 /**
  * Update tax related fields for quote item
  *
  * @param AbstractItem $quoteItem
  * @param ItemTaxDetails $itemTaxDetails
  * @param ItemTaxDetails $baseItemTaxDetails
  * @param Store $store
  * @return $this
  */
 public function updateItemTaxInfo($quoteItem, $itemTaxDetails, $baseItemTaxDetails, $store)
 {
     //The price should be base price
     $quoteItem->setPrice($baseItemTaxDetails->getPrice());
     $quoteItem->setConvertedPrice($itemTaxDetails->getPrice());
     $quoteItem->setPriceInclTax($itemTaxDetails->getPriceInclTax());
     $quoteItem->setRowTotal($itemTaxDetails->getRowTotal());
     $quoteItem->setRowTotalInclTax($itemTaxDetails->getRowTotalInclTax());
     $quoteItem->setTaxAmount($itemTaxDetails->getRowTax());
     $quoteItem->setTaxPercent($itemTaxDetails->getTaxPercent());
     $quoteItem->setHiddenTaxAmount($itemTaxDetails->getDiscountTaxCompensationAmount());
     $quoteItem->setBasePrice($baseItemTaxDetails->getPrice());
     $quoteItem->setBasePriceInclTax($baseItemTaxDetails->getPriceInclTax());
     $quoteItem->setBaseRowTotal($baseItemTaxDetails->getRowTotal());
     $quoteItem->setBaseRowTotalInclTax($baseItemTaxDetails->getRowTotalInclTax());
     $quoteItem->setBaseTaxAmount($baseItemTaxDetails->getRowTax());
     $quoteItem->setTaxPercent($baseItemTaxDetails->getTaxPercent());
     $quoteItem->setBaseHiddenTaxAmount($baseItemTaxDetails->getDiscountTaxCompensationAmount());
     //Set discount calculation price, this may be needed by discount collector
     if ($this->_config->discountTax($store)) {
         $quoteItem->setDiscountCalculationPrice($itemTaxDetails->getPriceInclTax());
         $quoteItem->setBaseDiscountCalculationPrice($baseItemTaxDetails->getPriceInclTax());
     } else {
         $quoteItem->setDiscountCalculationPrice($itemTaxDetails->getPrice());
         $quoteItem->setBaseDiscountCalculationPrice($baseItemTaxDetails->getPrice());
     }
     return $this;
 }