Esempio n. 1
0
 public function transferPackage(Entity\Package $package)
 {
     $em = $this->getServiceLocator()->get('Doctrine\\ORM\\EntityManager');
     $newPackage = clone $package;
     $newPackage->setOrder($package->getOrder());
     foreach ($package->getItems() as $item) {
         if ($item->hasParentItems()) {
             continue;
         }
         $newItem = clone $item;
         $item->setTransferredItem($newItem);
         $item->setStatus('transferred');
         $item->setPackage($package);
         $em->persist($item);
         $newPackage->addItem($newItem);
         $newItem->setPackage($newPackage);
         $em->persist($newItem);
     }
     $package->setTransferredPackage($newPackage);
     $em->persist($package);
     return $newPackage;
 }