示例#1
0
 private function processManufacturerChanges(Part $part, array $data)
 {
     if (array_key_exists("updates", $data)) {
         foreach ($data["updates"] as $record) {
             foreach ($part->getManufacturers() as $partManufacturer) {
                 if ($partManufacturer->getId() == $record["id"]) {
                     $partManufacturer->setPartNumber($record["partNumber"]);
                     $partManufacturer->setManufacturer(Manufacturer::loadById($record["manufacturer_id"]));
                     break;
                 }
             }
         }
     }
     if (array_key_exists("removals", $data)) {
         foreach ($data["removals"] as $record) {
             foreach ($part->getManufacturers() as $partManufacturer) {
                 if ($partManufacturer->getId() == $record["id"]) {
                     PartKeepr::getEM()->remove($partManufacturer);
                     $part->getManufacturers()->removeElement($partManufacturer);
                     break;
                 }
             }
         }
     }
     if (array_key_exists("inserts", $data)) {
         foreach ($data["inserts"] as $record) {
             $manufacturer = new PartManufacturer($part, Manufacturer::loadById($record["manufacturer_id"]));
             $manufacturer->setPartNumber($record["partNumber"]);
             $part->getManufacturers()->add($manufacturer);
         }
     }
 }