/**
  * @param array $distribution
  * @param int   $total
  *
  * @return ReturnItem
  */
 protected function getItem($distribution = [10], $total = 10)
 {
     $orderItem = new OrderItem();
     $orderItem->setQuantity($total);
     $testedItem = null;
     foreach ($distribution as $q) {
         $returnItem = new ReturnItem($orderItem);
         $returnItem->setQuantity($q);
         if ($testedItem) {
             $orderItem->getReturnItems()->add($returnItem);
         } else {
             $testedItem = $returnItem;
         }
     }
     return $testedItem;
 }
Example #2
0
 public function load(ObjectManager $manager)
 {
     $orders = $manager->getRepository('MarelloOrderBundle:Order')->findAll();
     $i = 0;
     foreach ($orders as $order) {
         if (rand(0, 3) !== 0) {
             if (!$this->hasReference('marello_order_unreturned')) {
                 $this->setReference('marello_order_unreturned', $order);
             }
             continue;
         }
         $return = new ReturnEntity();
         $return->setOrder($order);
         $order->getItems()->map(function (OrderItem $item) use($return) {
             $returnItem = new ReturnItem($item);
             $returnItem->setQuantity(rand(1, $item->getQuantity()));
             $return->addReturnItem($returnItem);
         });
         $manager->persist($return);
         $this->setReference('marello_return_' . $i++, $return);
     }
     $manager->flush();
 }
Example #3
0
 /**
  * @param ReturnItem $item
  *
  * @return $this
  */
 public function addReturnItem(ReturnItem $item)
 {
     $this->returnItems->add($item->setReturn($this));
     return $this;
 }