/** * Deserializes the part parameter * @param array $parameters The array with the parameters to set */ public function deserialize(array $parameters) { foreach ($parameters as $key => $value) { switch ($key) { case "name": $this->setName($value); break; case "description": $this->setDescription($value); break; case "value": $this->setValue($value); break; case "siprefix_id": $prefix = SiPrefix::loadById($value); $this->setSiPrefix($prefix); break; case "unit_id": $unit = Unit::loadById($value); $this->setUnit($unit); break; } } }
private function processParameterChanges(Part $part, array $data) { if (array_key_exists("updates", $data)) { foreach ($data["updates"] as $record) { foreach ($part->getParameters() as $partParameter) { if ($partParameter->getId() == $record["id"]) { $partParameter->setName($record["name"]); $partParameter->setDescription($record["description"]); $partParameter->setValue($record["value"]); $partParameter->setSiPrefix(SiPrefix::loadById($record["siprefix_id"])); $partParameter->setUnit(Unit::loadById($record["unit_id"])); break; } } } } if (array_key_exists("removals", $data)) { foreach ($data["removals"] as $record) { foreach ($part->getParameters() as $partParameter) { if ($partParameter->getId() == $record["id"]) { PartKeepr::getEM()->remove($partParameter); $part->getParameters()->removeElement($partParameter); break; } } } } if (array_key_exists("inserts", $data)) { foreach ($data["inserts"] as $record) { $partParameter = new PartParameter(); $partParameter->setPart($part); $partParameter->setName($record["name"]); $partParameter->setDescription($record["description"]); $partParameter->setValue($record["value"]); $partParameter->setSiPrefix(SiPrefix::loadById($record["siprefix_id"])); $partParameter->setUnit(Unit::loadById($record["unit_id"])); $part->getParameters()->add($partParameter); } } }