Beispiel #1
0
 /**
  * Get the final price in base currency for an ordered item including
  * taxes as discounts.
  *
  * @param Mage_Sales_Model_Order_Item $item the item model.
  *
  * @return float
  */
 public function getItemFinalPriceInclTax(Mage_Sales_Model_Order_Item $item)
 {
     $quantity = (double) $item->getQtyOrdered();
     $basePrice = $item->getBaseRowTotal() + $item->getBaseTaxAmount() + $item->getBaseHiddenTaxAmount() - $item->getBaseDiscountAmount();
     $orderCurrencyCode = $item->getOrder()->getOrderCurrencyCode();
     $baseCurrencyCode = $item->getOrder()->getBaseCurrencyCode();
     if ($orderCurrencyCode != $baseCurrencyCode) {
         $priceInOrderCurrency = Mage::helper('directory')->currencyConvert($basePrice, $baseCurrencyCode, $orderCurrencyCode);
     } else {
         $priceInOrderCurrency = $basePrice;
     }
     if ($quantity > 1) {
         $priceInOrderCurrency = round($priceInOrderCurrency / $quantity, 2);
     }
     return $priceInOrderCurrency;
 }
Beispiel #2
0
 /**
  * Retrieve
  *
  * @param Mage_Sales_Model_Order_Item $item
  * @return unknown
  */
 public function itemToQuoteItem(Mage_Sales_Model_Order_Item $item)
 {
     $quoteItem = Mage::getModel('sales/quote_item')->setStoreId($item->getStoreId())->setQuoteItemId($item->getId())->setProductId($item->getProductId())->setSuperProductId($item->getSuperProductId())->setParentProductId($item->getParentProductId())->setSku($item->getSku())->setName($item->getName())->setDescription($item->getDescription())->setWeight($item->getWeight())->setCustomPrice($item->getPrice())->setDiscountPercent($item->getDiscountPercent())->setDiscountAmount($item->getDiscountAmount())->setTaxPercent($item->getTaxPercent())->setTaxAmount($item->getTaxAmount())->setRowWeight($item->getRowWeight())->setRowTotal($item->getRowTotal())->setAppliedRuleIds($item->getAppliedRuleIds())->setBaseDiscountAmount($item->getBaseDiscountAmount())->setBaseTaxAmount($item->getBaseTaxAmount())->setBaseRowTotal($item->getBaseRowTotal());
     return $quoteItem;
 }
Beispiel #3
0
 /**
  * Calculates the Row Total Price the same way the UI does.
  * @param Mage_Sales_Model_Order_Item $item
  * @return float
  */
 public function calculateRowTotalPrice($item)
 {
     return $item->getBaseRowTotal() + $item->getBaseTaxAmount() + $item->getBaseHiddenTaxAmount() + $item->getBaseWeeeTaxAppliedRowAmount() - $item->getBaseDiscountAmount();
 }