public static void Main(string[] args) { PizzaStore pizzaStore = new NYStore(); Pizza pizza = pizzaStore.OrderPizza("Cheese"); pizzaStore = new ChicagoStore(); pizza = pizzaStore.OrderPizza("Meet"); }
public static void CreatePizzaTestDrive() { PizzaStore nyStore = new NYPizzaStore(); PizzaStore chicagoStore = new ChicagoStore(); Pizza pizza = nyStore.OrderPizza("cheese"); Console.WriteLine($"Ethan ordered a {pizza.Name}"); Console.WriteLine(); pizza = chicagoStore.OrderPizza("cheese"); Console.WriteLine($"Joel ordered a {pizza.Name}"); }
private StoreSingleton(PizzaBoxContext context) { _context = context; Stores = _context.Stores.ToList(); if (Stores == null) { var s = new ChicagoStore(); var n = new NewYorkStore(); _context.Add(s); _context.Add(n); } //Stores = _context.Stores.ToList(); }
/// <summary> /// Map DBStore => AStore /// </summary> /// <param name="entity"></param> /// <returns></returns> public AStore Map(DBStore entity) { AStore store = null; switch (entity.STORE) { case Entities.EntityModels.STORES.NEWYORK: store = new NewYorkStore(); break; case Entities.EntityModels.STORES.CHICAGO: store = new ChicagoStore(); break; default: throw new ArgumentException("Store not recognized. Store could not be mapped properly"); } return(store); }
public AStore Map(Store model) { AStore aStore = null; switch (model.StoreType) { case STORE_TYPE.Chicago: aStore = new ChicagoStore(); break; case STORE_TYPE.NewYork: aStore = new NewYorkStore(); break; case STORE_TYPE.Unknown: // TODO: add logging to these last 2 default: throw new ArgumentException("Store mapper is attempting to map a store type that does not exist in the codebase"); } aStore.Name = model.Name; return(aStore); }
//------------------------------------------------------------------------------------------------------------------------------// private void InitChicagoStore() { Dictionary <string, decimal> chicagoToppings = new Dictionary <string, decimal>(); chicagoToppings.Add("beef", 0.75m); chicagoToppings.Add("chicken", 1.50m); chicagoToppings.Add("ham", 0.57m); chicagoToppings.Add("mushroom", 0.45m); chicagoToppings.Add("olive", 0.25m); chicagoToppings.Add("peppers", 0.30m); chicagoToppings.Add("pineapple", 0.50m); chicagoToppings.Add("pepporoni", 0.25m); chicagoToppings.Add("salami", 0.70m); chicagoToppings.Add("sausage", 0.70m); chicagoToppings.Add("bacon", 0.50m); chicagoToppings.Add("onion", 1.00m); Dictionary <string, decimal> chicagoSize = new Dictionary <string, decimal>(); chicagoSize.Add("small", 4.50m); chicagoSize.Add("medium", 5.50m); chicagoSize.Add("large", 6.50m); Dictionary <string, decimal> chicagoCrust = new Dictionary <string, decimal>(); chicagoCrust.Add("regular", 0.50m); chicagoCrust.Add("hand-tossed", 1.00m); chicagoCrust.Add("thin", 0.50m); ChicagoStore initChicago = new ChicagoStore(); initChicago.MaxPizzas = 50; initChicago.MaxPrice = 200.00m; initChicago.MaxToppings = 4; foreach (KeyValuePair <string, decimal> kvp in chicagoToppings) { string topping = kvp.Key; decimal value = kvp.Value; var curComp = context.Comps.SingleOrDefault(n => n.Name == topping); if (curComp is null) { var curType = context.ItemTypes.SingleOrDefault(n => n.Name == "toppings"); APizzaComponent newComp = new APizzaComponent(kvp.Key, curType); context.Add <APizzaComponent>(newComp); context.SaveChanges(); } var forsureComp = context.Comps.SingleOrDefault(n => n.Name == topping); initChicago.ToppingsList.Add(new Topping(initChicago, value, 100, forsureComp)); } foreach (KeyValuePair <string, decimal> kvp in chicagoCrust) { string crust = kvp.Key; decimal value = kvp.Value; var curComp = context.Comps.SingleOrDefault(n => n.Name == crust); if (curComp is null) { var curType = context.ItemTypes.SingleOrDefault(n => n.Name == "crust"); APizzaComponent newComp = new APizzaComponent(kvp.Key, curType); context.Add <APizzaComponent>(newComp); context.SaveChanges(); } var forsureComp = context.Comps.SingleOrDefault(n => n.Name == crust); initChicago.CrustList.Add(new Crust(initChicago, value, 100, forsureComp)); } foreach (KeyValuePair <string, decimal> kvp in chicagoSize) { string size = kvp.Key; decimal value = kvp.Value; var curComp = context.Comps.SingleOrDefault(n => n.Name == size); if (curComp is null) { var curType = context.ItemTypes.SingleOrDefault(n => n.Name == "size"); APizzaComponent newComp = new APizzaComponent(kvp.Key, curType); context.Add <APizzaComponent>(newComp); context.SaveChanges(); } var forsureComp = context.Comps.SingleOrDefault(n => n.Name == size); initChicago.SizeList.Add(new Size(initChicago, value, 100, forsureComp)); } initChicago.InitPresetPizza(); context.Add <AStore>(initChicago); context.SaveChanges(); }
public static void AsACustomer() { APizza pizzaType = null; AStore storeType = null; var stpProgram = false; var ss = StoreSingleton.Instance; ss.Seeding(); Console.Clear(); do { // print all the stores available, must be from file or db Console.WriteLine("\nSelect a store\n"); int count = 1; foreach (var item in ss.Stores) { Console.Write("{0}. ", count); // Labels the stores 1-3 //form the xml file Console.WriteLine(item); count++; } Console.Write("Choice: "); // select a store var input = Console.ReadLine(); Console.Clear(); switch (input) { case "1": stpProgram = true; // run the code for store1 storeType = new ChicagoStore(); //take customer name Customer cust = new Customer(); Console.Write("Enter your name: "); cust.CustomerName = Console.ReadLine(); Console.Clear(); // print the customer menu System.Console.WriteLine("1. Place Order"); System.Console.WriteLine("2. View Orders History"); System.Console.WriteLine("3. Exit"); Console.Write("Choice: "); // select a menu option var input2 = Console.ReadLine(); Console.Clear(); switch (input2) { case "1": // run the code dor placing order Console.Write("What type of Pizza would you like?\n"); ss.SeedingPizza(); //Print all pizzas int count2 = 1; var stPizza = ss.storePizza; foreach (var item in stPizza) { Console.Write("{0}. ", count2); Console.WriteLine(item.GetType().ToString().Split(".")[3]); count2++; } Console.WriteLine("4. Custom Pizza"); Console.Write("Choice: "); var choice = Console.ReadLine(); Console.Clear(); switch (choice) { case "1": Console.WriteLine("What size of Crust would you like?\n"); Console.WriteLine("1. Small"); Console.WriteLine("2. Medium"); Console.WriteLine("3. Large"); Console.Write("Choice: "); var choice2 = Console.ReadLine(); switch (choice2) { case "1": Size smallSize = new Size("Small"); pizzaType = new MeatPizza(smallSize); break; case "2": Size mediumSize = new Size("Medium"); pizzaType = new MeatPizza(mediumSize); break; case "3": Size largeSize = new Size("Large"); pizzaType = new MeatPizza(largeSize); break; default: Console.WriteLine("Incorrect Input"); break; } Console.Clear(); //saves order Order orderInstance = new Order(); //new order orderInstance.orderPizzas = new List <APizza>(); //initialize out list orderInstance.orderCustomer = cust; //assigning cust to our new order orderInstance.orderStore = storeType; //assiging storeType to our store we chose //add pizzatype to our list orderInstance.orderPizzas.Add(pizzaType); ss.saveOrder(new List <Order>() { orderInstance }); //saves orderInstance to xml from list stpProgram = false; break; default: break; } break; case "2": stpProgram = false; // run the code for view order history var stOrder = ss.storeOrder; foreach (var item in stOrder) { Console.WriteLine(item.GetType().ToString().Split(".")[3]); } ss.readOrder(stOrder); break; case "3": stpProgram = true; return; default: stpProgram = false; Console.Clear(); Console.WriteLine("Incorrect Input"); break; } break; case "2": // run the code for store2 stpProgram = false; break; case "3": // run the code for store2 stpProgram = false; break; default: stpProgram = false; Console.Clear(); Console.WriteLine("Incorrect Input"); break; } }while (!stpProgram); Console.Clear(); }