Example #1
0
 public function saveOrder(CustomerDB $customerdb, CustomerContract $customer)
 {
     $customerOrder = new CustomerOrder();
     $customerOrder->setReady(false);
     $customerOrder->setReceived(false);
     $customerOrder->setCustomer($customerdb);
     foreach ($customer->getPizzas() as $pizza) {
         $item = new CustomerOrderItem();
         $item->setAmount($pizza->getAmount());
         $item->setProduct($this->products[$pizza->getType()]);
         foreach ($pizza->getToppings() as $topping) {
             $subitem = new CustomerOrderSubItem();
             $subitem->setProduct($this->products[$topping]);
             $subitem->setItem($item);
             $item->addSubitem($subitem);
         }
         $item->setCustomerorder($customerOrder);
         $customerOrder->addOrderitems($item);
     }
     $customerdb->addCustomerorder($customerOrder);
     return $customerdb;
 }