public function orderPushRepeat()
 {
     /** @var \Praxigento\Odoo\Api\Data\SaleOrder\PushRepeat\Report $result */
     $result = $this->_manObj->create(\Praxigento\Odoo\Api\Data\SaleOrder\PushRepeat\Report::class);
     $orders = $this->_collector->getOrdersToReplicate();
     $entries = [];
     foreach ($orders as $order) {
         /** @var \Praxigento\Odoo\Service\Replicate\Request\OrderSave $req */
         $req = $this->_manObj->create(\Praxigento\Odoo\Service\Replicate\Request\OrderSave::class);
         $req->setSaleOrder($order);
         /** @var \Praxigento\Odoo\Service\Replicate\Response\OrderSave $resp */
         $resp = $this->_callReplicate->orderSave($req);
         $respOdoo = $resp->getOdooResponse();
         /** @var \Praxigento\Odoo\Api\Data\SaleOrder\PushRepeat\Report\Entry $reportEntry */
         $reportEntry = $this->_manObj->create(\Praxigento\Odoo\Api\Data\SaleOrder\PushRepeat\Report\Entry::class);
         $id = $order->getEntityId();
         $number = $order->getIncrementId();
         $reportEntry->setIdMage($id);
         $reportEntry->setNumber($number);
         if ($respOdoo instanceof \Praxigento\Odoo\Data\Odoo\Error) {
             $reportEntry->setIsSucceed(false);
             $debug = $respOdoo->getDebug();
             $name = $respOdoo->getName();
             $reportEntry->setDebug($debug);
             $reportEntry->setErrorName($name);
         } else {
             $reportEntry->setIsSucceed(true);
         }
         $entries[] = $reportEntry;
     }
     $result->setEntries($entries);
     return $result;
 }
 public function test_orderSave()
 {
     $req = new Request\OrderSave();
     /* load Magento order */
     $mageOrder = $this->_mageRepoSaleOrder->get(70);
     $req->setSaleOrder($mageOrder);
     $resp = $this->obj->orderSave($req);
     $this->assertNotNull($resp);
 }
 public function execute(\Magento\Framework\Event\Observer $observer)
 {
     /** @var \Magento\Sales\Model\Order $order */
     $order = $observer->getData(self::DATA_ORDER);
     $state = $order->getState();
     if ($state == \Magento\Sales\Model\Order::STATE_PROCESSING) {
         try {
             $this->_logger->debug("Call to Odoo service to replicate order.");
             $req = new \Praxigento\Odoo\Service\Replicate\Request\OrderSave();
             $req->setSaleOrder($order);
             $this->_callReplicate->orderSave($req);
         } catch (\Exception $e) {
             /* catch all exceptions and steal them */
             $msg = 'Some error is occurred on sale order saving to Odoo. Error: ' . $e->getMessage();
             $this->_logger->error($msg);
         }
     }
 }