public function get_id_apply_handler() { $dbc = FannieDB::get($this->config->get('OP_DB')); $map = new VendorSKUtoPLUModel($dbc); $map->vendorID($this->id); $upP = $dbc->prepare(' UPDATE vendorItems SET upc=? WHERE sku=? AND vendorID=?'); $costP = $dbc->prepare(' UPDATE products SET cost=(SELECT cost FROM vendorItems WHERE vendorID=? AND sku=?) WHERE upc=?'); foreach ($map->find() as $obj) { $res = $dbc->execute($upP, array($obj->upc(), $obj->sku(), $this->id)); $res = $dbc->execute($costP, array($this->id, $obj->sku(), $obj->upc())); } $this->addOnloadCommand("showBootstrapAlert('#alert-area', 'success', 'Updated vendor catalog')\n"); return true; }
/** Helper: update vendor costs when updating a product cost if the product has a defined vendor */ public function updateCostByUPC($upc, $cost, $vendorID) { $updateP = $this->connection->prepare(' UPDATE vendorItems SET cost=?, modified=' . $this->connection->now() . ' WHERE vendorID=? AND sku=?'); $skuModel = new VendorSKUtoPLUModel($this->connection); $skuModel->vendorID($vendorID); $skuModel->upc($upc); foreach ($skuModel->find() as $obj) { $this->connection->execute($updateP, array($cost, $vendorID, $obj->sku())); } $vModel = new VendorItemsModel($this->connection); $vModel->vendorID($vendorID); $vModel->upc($upc); foreach ($vModel->find() as $obj) { $this->connection->execute($updateP, array($cost, $vendorID, $obj->sku())); } }