コード例 #1
0
 /**
  * Add pricing data for the item to the item payload.
  *
  * @return self
  */
 protected function _injectPricingData()
 {
     $merchandisePricing = $this->_orderItem->getEmptyMerchandisePriceGroup()->setUnitPrice($this->_item->getPrice())->setAmount($this->_item->getRowTotal())->setTaxClass($this->_itemProduct->getTaxCode());
     $this->_discountHelper->transferTaxDiscounts($this->_item, $merchandisePricing);
     $this->_orderItem->setMerchandisePricing($merchandisePricing);
     // This will be set by the parent address when initially creating the
     // item request builder. Each ship group should include shipping on
     // only one item in the ship group for address level shipping totals.
     if ($this->_item->getIncludeShippingTotals()) {
         $shippingPricing = $this->_orderItem->getEmptyShippingPriceGroup()->setAmount($this->_address->getShippingAmount())->setTaxClass($this->_taxConfig->shippingTaxClass);
         $this->_addShippingDiscount($shippingPricing);
         $this->_orderItem->setShippingPricing($shippingPricing);
     }
     return $this;
 }
コード例 #2
0
ファイル: Discount.php プロジェクト: natxetee/magento2
 /**
  * Recalculate child discount. Separate discount between children
  *
  * @param   Mage_Sales_Model_Quote_Item_Abstract $child
  * @return  Mage_SalesRule_Model_Quote_Discount
  */
 protected function _recalculateChildDiscount($child)
 {
     $item = $child->getParentItem();
     $prices = array('base' => $item->getBaseOriginalPrice(), 'current' => $item->getPrice());
     $keys = array('discount_amount', 'original_discount_amount');
     foreach ($keys as $key) {
         $child->setData($key, $child->getData($key) * $child->getPrice() / $prices['current']);
         $child->setData('base_' . $key, $child->getData('base_' . $key) * $child->getPrice() / $prices['base']);
     }
     return $this;
 }
コード例 #3
0
ファイル: Quote.php プロジェクト: arslbbt/mangentovies
 /**
  * Convert quote item to order item
  *
  * @param   Mage_Sales_Model_Quote_Item_Abstract $item
  * @return  Mage_Sales_Model_Order_Item
  */
 public function itemToOrderItem(Mage_Sales_Model_Quote_Item_Abstract $item)
 {
     $orderItem = Mage::getModel('sales/order_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())->setIsQtyDecimal($item->getIsQtyDecimal())->setQtyOrdered($item->getQty())->setOriginalPrice($item->getOriginalPrice())->setAppliedRuleIds($item->getAppliedRuleIds())->setAdditionalData($item->getAdditionalData())->setPrice($item->getCalculationPrice())->setTaxPercent($item->getTaxPercent())->setTaxAmount($item->getTaxAmount())->setRowWeight($item->getRowWeight())->setRowTotal($item->getRowTotal())->setBasePrice($item->getBaseCalculationPrice())->setBaseOriginalPrice($item->getPrice())->setBaseTaxAmount($item->getBaseTaxAmount())->setBaseRowTotal($item->getBaseRowTotal());
     if (!$item->getNoDiscount()) {
         $orderItem->setDiscountPercent($item->getDiscountPercent())->setDiscountAmount($item->getDiscountAmount())->setBaseDiscountAmount($item->getBaseDiscountAmount());
     }
     Mage::dispatchEvent('sales_convert_quote_item_to_order_item', array('order_item' => $orderItem, 'item' => $item));
     return $orderItem;
 }