/** * (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()); }
/** * Returns a distributor by ID. * * @param int $id The distributor id * @return Distributor The distributor * @throws EntityNotFoundException If no distributor with the ID was found */ public function getDistributor($id) { return Distributor::loadById($id); }
/** * 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); } } }