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())->setFreightQuoteId($rate->getFreightQuoteId())->setMethodTitle($rate->getMethodTitle())->setMethodDescription($rate->getMethodDescription())->setPrice($rate->getPrice()); } return $this; }