using System.Collections.Generic;
using System.Threading.Tasks;
namespace interviewPracticeOOP
public int ItemNumber { get; set; }
public string Name { get; set; }
public double Price { get; set; }
public string Description { get; set; }
public MenuItem(int itemNumber, string name, double price, string desc)
public int OrderId { get; set; }
public List<MenuItem> ItemsOrdered { get; set; }
public List<int> ItemsQuantity { get; set; }
ItemsOrdered = new List<MenuItem>();
ItemsQuantity = new List<int>();
public double GetOrderTotal()
foreach( MenuItem menuItem in ItemsOrdered)
orderTotal = orderTotal + (menuItem.Price * ItemsQuantity[ItemsOrdered.IndexOf(menuItem)]);
static void Main(string[] args)
List<MenuItem> menu = new List<MenuItem>();
List<Order> Orders = new List<Order>();
MenuItem Burger = new MenuItem(1, "Hamburger", 5, "Beef Lettuce Tomato");
MenuItem PhoBo = new MenuItem(2, "pho bo", 8, "vietnamese beef noodle soup");
MenuItem Pizza = new MenuItem(3, "pizza", 10, "new yorks finest");
MenuItem GarlicTruffleFries = new MenuItem(4, "garlic truffle fries", 20, "tasty");
MenuItem SharkFinSoup = new MenuItem(5, "shark fin soup", 16, "Chinese delicacy");
MenuItem RibEyeSteak = new MenuItem(6, "rib eye steak", 35, "Juicy dry aged meat");
MenuItem CeasarSalad = new MenuItem(7, "ceasar salad", 12, "fresh veges");
MenuItem BunBoHue = new MenuItem(8, "bun bo hue", 9.5, "pork noodle soup");
MenuItem ChickenAlfredo = new MenuItem(9, "chicken alfredo", 16, "with fresh parmesan");
MenuItem CurryChicken = new MenuItem(10, "curry chicken", 14, "juicy chicken");
menu.Add(GarlicTruffleFries);
menu.Add(ChickenAlfredo);
Console.WriteLine("Welcome to Bin's All World Cuisine!\n" + "Please select from the options below(1,2 or 3) to continue");
Console.WriteLine("1. Show Menu\n" + "2. Start Food Order\n" + "3. Exit Program");
input = Console.ReadLine();
Order myOrder = new Order();
Console.WriteLine("What would you like to order? Select Item number");
int ItemNumber = Int32.Parse(Console.ReadLine());
Console.WriteLine("How many of this would you like to order?");
int quantity = Int32.Parse(Console.ReadLine());
total = PlaceOrder( ref cId, myOrder, ItemNumber, quantity);
Console.WriteLine("Enter (c) to continue or (q) to close order");
select = Console.ReadLine();
Console.WriteLine("your total is " + total);
foreach(Order order in Orders)
EOD = EOD + order.GetOrderTotal();
Console.WriteLine("End of day grand total is " + EOD);
foreach(Order order in Orders)
Console.WriteLine("Customer " + order.OrderId + " Spent " + order.GetOrderTotal());
double PlaceOrder(ref int id, Order myOrder, int ItemNumber, int quantity)
TakeOrder(ref id,myOrder, ItemNumber, quantity);
TakeOrder(ref id, myOrder,ItemNumber, quantity);
TakeOrder(ref id, myOrder, ItemNumber, quantity);
TakeOrder(ref id, myOrder, ItemNumber, quantity);
TakeOrder(ref id, myOrder, ItemNumber, quantity);
TakeOrder(ref id, myOrder, ItemNumber, quantity);
TakeOrder(ref id, myOrder, ItemNumber, quantity);
TakeOrder(ref id, myOrder, ItemNumber, quantity);
TakeOrder(ref id, myOrder, ItemNumber, quantity);
TakeOrder(ref id, myOrder, ItemNumber, quantity);
return myOrder.GetOrderTotal();
void TakeOrder(ref int id, Order myOrder, int ItemNumber, int quantity)
myOrder.ItemsOrdered.Add(menu[ItemNumber - 1]);
myOrder.ItemsQuantity.Add(quantity);
foreach (MenuItem item in menu)
Console.WriteLine("Enter Number to Select Item");
Console.WriteLine("\n" + item.ItemNumber + ". " + item.Name + " " + " $" + item.Price + ".00 \n" + item.Description + "\n");