/** * * @param int $product * @return array $status */ private function updateProductInSAP($idProduct) { $product = ProductQuery::create()->findByPK($idProduct); $connectorClient = new SAPConnectorClient(); $status = array(); try { $productSapExists = SapProductQuery::create()->whereAdd(SapProduct::ITEMCODE, $product->getItemCode())->count(); // echo SapProductQuery::create()->whereAdd(SapProduct::ITEMCODE, $product->getItemCode())->createSql(); // echo $productSapExists; // die; if (!$productSapExists) { $result = $connectorClient->createProduct($product); } else { $result = $connectorClient->updateProduct($product); } } catch (Exception $e) { $status['code'] = 500; $status['message'] = $e->getMessage(); return $status; } if ($result->SapProductoResult->code == 200) { $status['code'] = $result->SapProductoResult->code; $status['message'] = $this->i18n->_('The product ') . $product->getIdProduct() . $this->i18n->_(' has been syncronized with SAP'); } else { $status['code'] = $result->SapProductoResult->code; $this->setFlash('warning', $result->SapProductoResult->message); $status['message'] = $this->i18n->_($result->SapProductoResult->message); } return $status; }