/** * Creates a new distributor with the given name. * @param string $name The name of the distributor * @return Distributor The new distributor object */ public function addDistributor($name) { $distributor = new Distributor(); $distributor->setName($name); PartKeepr::getEM()->persist($distributor); PartKeepr::getEM()->flush(); return $distributor; }
/** * (non-PHPdoc) * @see PartKeepr\Service.RestfulService::update() */ public function update() { $this->requireParameter("id"); $this->requireParameter("name"); $distributor = Distributor::loadById($this->getParameter("id")); $distributor->deserialize($this->getParameters()); PartKeepr::getEM()->flush(); return array("data" => $distributor->serialize()); }
/** * Migrates the existing distributors */ public function run() { $count = 0; $skipped = 0; $r = mysql_query("SELECT * FROM suppliers"); while ($supplier = mysql_fetch_assoc($r)) { $name = PartDBMigration::convertText($supplier["name"]); try { $distributor = DistributorManager::getInstance()->getDistributorByName($name); $skipped++; } catch (\Exception $e) { $distributor = new Distributor(); $distributor->setName($name); $this->entityManager->persist($distributor); $count++; } } $this->entityManager->flush(); $this->logMessage(sprintf("Migrated %d distributors, skipped %d because they already exist", $count, $skipped)); }
/** * Deserializes the part manufacturer * @param array $parameters The array with the parameters to set */ public function deserialize(array $parameters) { foreach ($parameters as $key => $value) { switch ($key) { case "distributor_id": $distributor = Distributor::loadById($value); $this->setDistributor($distributor); break; case "orderNumber": $this->setOrderNumber($value); break; case "packagingUnit": $this->setPackagingUnit($value); break; case "price": $this->setPrice($value); break; case "sku": $this->setSKU($value); break; } } }
private function processDistributorChanges(Part $part, array $data) { if (array_key_exists("updates", $data)) { foreach ($data["updates"] as $record) { foreach ($part->getDistributors() as $partDistributor) { if ($partDistributor->getId() == $record["id"]) { $partDistributor->setOrderNumber($record["orderNumber"]); $partDistributor->setDistributor(Distributor::loadById($record["distributor_id"])); $partDistributor->setPackagingUnit($record["packagingUnit"]); break; } } } } if (array_key_exists("removals", $data)) { foreach ($data["removals"] as $record) { foreach ($part->getDistributors() as $partDistributor) { if ($partDistributor->getId() == $record["id"]) { PartKeepr::getEM()->remove($partDistributor); $part->getDistributors()->removeElement($partDistributor); break; } } } } if (array_key_exists("inserts", $data)) { foreach ($data["inserts"] as $record) { $distributor = new PartDistributor($part, Distributor::loadById($record["distributor_id"])); $distributor->setOrderNumber($record["orderNumber"]); $distributor->setPackagingUnit($record["packagingUnit"]); $part->getDistributors()->add($distributor); } } }