示例#1
0
 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);
         }
     }
 }