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;
 }
Example #2
0
 public function populateSingleOrder(CustomerOrder $customerorder)
 {
     $order = new RestOrder();
     $order->setIsReady($customerorder->getReady());
     $order->setOrderId($customerorder->getId());
     $order->setLastname($customerorder->getCustomer()->getLastname());
     foreach ($customerorder->getOrderitems() as $item) {
         $pizza = new Pizza();
         $product = $item->getProduct();
         $pizza->setName($product->getName());
         $pizza->setDescription($product->getDescription());
         $pizza->setPrice($product->getPrice());
         foreach ($item->getSubitems() as $subitems) {
             $topping = new Topping();
             $subproduct = $subitems->getProduct();
             $topping->setDescription($subproduct->getDescription());
             $topping->setName($subproduct->getName());
             $topping->setPrice($subproduct->getPrice());
             $pizza->addTopping($topping);
         }
         $order->addPizza($pizza);
     }
     return $order;
 }