Example #1
0
 public function cloneItem(Entity\Item $item)
 {
     $em = $this->getServiceLocator()->get('Doctrine\\ORM\\EntityManager');
     $newItem = clone $item;
     foreach ($item->getItemPackageRelatedBySurItemIds() as $itemPackage) {
         $newItemPackage = $this->cloneItemPackage($itemPackage);
         $newItemPackage->setSurItem($newItem);
         $newItem->addItemPackageRelatedBySurItemId($newItemPackage);
         $em->persist($newItemPackage);
     }
     $em->persist($newItem);
     if ($this->getTransfer()) {
         $item->setTransferredItem($newItem);
         $item->setStatus('transferred');
         $em->persist($item);
     }
     return $newItem;
 }