public function importShippingRate(Mage_Shipping_Model_Rate_Result_Abstract $rate) { if ($rate instanceof Mage_Shipping_Model_Rate_Result_Error) { $this->setCode($rate->getCarrier() . '_error')->setCarrier($rate->getCarrier())->setCarrierTitle($rate->getCarrierTitle())->setErrorMessage($rate->getErrorMessage()); } elseif ($rate instanceof Mage_Shipping_Model_Rate_Result_Method) { $this->setCode($rate->getCarrier() . '_' . $rate->getMethod())->setCarrier($rate->getCarrier())->setCarrierTitle($rate->getCarrierTitle())->setMethod($rate->getMethod())->setMethodTitle($rate->getMethodTitle())->setMethodDescription($rate->getMethodDescription())->setPrice($rate->getPrice()); } return $this; }
/** * Imports the shipping rate into the total * @param Mage_Shipping_Model_Rate_Result_Abstract $rate * @param int $orderId * @param int $addressId * @return TinyBrick_OrderEdit_Model_Order_Address_Rate */ public function importShippingRate(Mage_Shipping_Model_Rate_Result_Abstract $rate, $orderId, $addressId) { //Might need to be enabled if the rate quotes don't come back correctly // if ($rate instanceof Mage_Shipping_Model_Rate_Result_Error) { // $this // ->setCode($rate->getCarrier().'_error') // ->setCarrier($rate->getCarrier()) // ->setCarrierTitle($rate->getCarrierTitle()) // ->setErrorMessage($rate->getErrorMessage()) // ; // } elseif ($rate instanceof Mage_Shipping_Model_Rate_Result_Method) { $this->setCreatedAt(now())->setUpdatedAt(now())->setAddressId($addressId)->setOrderId($orderId)->setCode($rate->getCarrier() . '_' . $rate->getMethod())->setCarrier($rate->getCarrier())->setCarrierTitle($rate->getCarrierTitle())->setMethod($rate->getMethod())->setMethodTitle($rate->getMethodTitle())->setMethodDescription($rate->getMethodDescription())->setPrice($rate->getPrice())->save(); // } return $this; }