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; }
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; }