/** * Create existing warehouse data for the stock item in Magento. * * @param int $stockItemRef Mage ID for related stock item * @param double $price warehouse price for stock item * @param double $pv warehouse PV for stock item */ public function updateWarehouseData($stockItemRef, $price, $pv) { /* update or create warehouse entry */ $bind = [EntityWarehouseStockItem::ATTR_PRICE => $price]; $exist = $this->_repoWarehouseEntityStockItem->getById($stockItemRef); if (!$exist) { /* create new entry */ $bind[EntityWarehouseStockItem::ATTR_STOCK_ITEM_REF] = $stockItemRef; $this->_repoWarehouseEntityStockItem->create($bind); } else { $this->_repoWarehouseEntityStockItem->updateById($stockItemRef, $bind); } /* update or create warehouse PV */ $registered = $this->_repoPvMod->getWarehousePv($stockItemRef); if (is_null($registered)) { /* create PV */ $this->_repoPvMod->registerWarehousePv($stockItemRef, $pv); } else { /* update PV */ $this->_repoPvMod->updateWarehousePv($stockItemRef, $pv); } }
private function _createStockItem($mageStockItemRef, $price) { $this->_repoStockItem->create([EntityStockItem::ATTR_STOCK_ITEM_REF => $mageStockItemRef, EntityStockItem::ATTR_PRICE => $price]); }