protected function processResponseData($response) { $response = parent::processResponseData($response); try { $account = $this->getAccount(); if (!$account->getChildObject()->isOrdersModeEnabled()) { return; } $orders = array(); $ordersLastSynchronization = $account->getData('orders_last_synchronization'); // Create m2e orders //--------------------------- foreach ($response as $orderData) { $currentOrderDate = $orderData['purchase_create_date']; if (strtotime($currentOrderDate) > strtotime($ordersLastSynchronization)) { $ordersLastSynchronization = $currentOrderDate; } /** @var $orderBuilder Ess_M2ePro_Model_Play_Order_Builder */ $orderBuilder = Mage::getModel('M2ePro/Play_Order_Builder'); $orderBuilder->initialize($account, $orderData); $order = $orderBuilder->process(); $orders[] = $order; } //--------------------------- $account->setData('orders_last_synchronization', $ordersLastSynchronization)->save(); if (count($orders) == 0) { return; } // Create magento orders //--------------------------- foreach ($orders as $order) { /** @var $order Ess_M2ePro_Model_Order */ if ($order->canCreateMagentoOrder()) { try { $order->createMagentoOrder(); } catch (Exception $e) { Mage::helper('M2ePro/Module_Exception')->process($e); } } if ($order->getChildObject()->canCreateInvoice()) { $order->createInvoice(); } if ($order->getChildObject()->canCreateShipment()) { $order->createShipment(); } if ($order->getStatusUpdateRequired()) { $order->updateMagentoOrderStatus(); } } //--------------------------- } catch (Exception $exception) { $this->getSynchLogModel()->addMessage(Mage::helper('M2ePro')->__($exception->getMessage()), Ess_M2ePro_Model_Log_Abstract::TYPE_ERROR, Ess_M2ePro_Model_Log_Abstract::PRIORITY_HIGH); Mage::helper('M2ePro/Module_Exception')->process($exception); } }
protected function processResponseData($response) { $response = parent::processResponseData($response); try { $account = $this->getAccount(); if (!$account->getChildObject()->isOrdersModeEnabled()) { return; } $playOrders = $this->processPlayOrders($response, $account); if (empty($playOrders)) { return; } $this->createMagentoOrders($playOrders); } catch (Exception $exception) { $this->getSynchronizationLog()->addMessage(Mage::helper('M2ePro')->__($exception->getMessage()), Ess_M2ePro_Model_Log_Abstract::TYPE_ERROR, Ess_M2ePro_Model_Log_Abstract::PRIORITY_HIGH); Mage::helper('M2ePro/Module_Exception')->process($exception); } }