public void OrdersbyUser() { var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); IConfigurationRoot configuration = builder.Build(); var optionsBuilder = new DbContextOptionsBuilder <PizzaStoreDBContext>(); optionsBuilder.UseSqlServer(configuration.GetConnectionString("PizzaStoreDB")); var repo = new PizzaStoreRepository(new PizzaStoreDBContext(optionsBuilder.Options)); string CName; string Pnumber; Console.Write("Enter youre name: "); CName = Console.ReadLine(); CName = CName.ToUpper(); Console.Write("And you're phone number: "); Pnumber = Console.ReadLine(); var PSC = repo.GetCustomers().FirstOrDefault(x => x.FirstName == CName && x.PhoneNumber == Pnumber); if (PSC.FirstName == CName && PSC.PhoneNumber == Pnumber) { var PSO = repo.GetOrders().Where(x => x.CustomerName == CName && x.CustomerPhoneNumber == Pnumber); var PSP = repo.GetPizzas(); Console.WriteLine("********** ORDER HISTORY by Location **********"); Console.WriteLine(); foreach (var item in PSO) { Console.WriteLine("______________________________"); Console.WriteLine($"Order Number: {item.OrderNumber}"); Console.WriteLine($"Customer Name: {item.CustomerName} {item.CustomerLastname}"); Console.WriteLine($"Customer #: {item.CustomerPhoneNumber}"); Console.WriteLine($"Order location: {item.OrderLocaton}"); Console.WriteLine($"Store: {item.StoreName}"); foreach (var pizza in PSP.Where(x => x.OrderId == item.OrderNumber)) { Console.WriteLine(); Console.WriteLine("||||||||||||||||||||"); Console.WriteLine($"Pizza size: {pizza.Size}"); Console.WriteLine($"Pizza Topping: {pizza.Topping}"); Console.WriteLine("||||||||||||||||||||"); Console.WriteLine(); } Console.WriteLine($"Price: {item.PizzaPrice}"); Console.WriteLine($"Total Price: {item.PizzaFprice}"); Console.WriteLine($"Order Date: {item.OrderDate}"); Console.WriteLine("______________________________"); Console.WriteLine(); } } else { Console.WriteLine("Error"); Console.ReadLine(); Admin(); } Console.ReadLine(); Admin(); }
public void PlaceOrder2() { Random rdm = new Random(); int ONum = rdm.Next(1, 1000000); string CName; string Pnum; string LName = ""; string Olocation = ""; double PPrice = 0; double PFPrice; DateTime ODate = DateTime.Now; string storeName = ""; string Psize = ""; string Ptopping; bool PGcrust = false; int Oid = ONum; List <Pizza> piz = new List <Pizza>(); var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); IConfigurationRoot configuration = builder.Build(); var optionsBuilder = new DbContextOptionsBuilder <PizzaStoreDBContext>(); optionsBuilder.UseSqlServer(configuration.GetConnectionString("PizzaStoreDB")); var repo = new PizzaStoreRepository(new PizzaStoreDBContext(optionsBuilder.Options)); var PST = repo.GetCustomers(); Console.Clear(); Console.WriteLine("------Place you're order------"); Console.WriteLine(""); Console.Write("Enter youre name: "); CName = Console.ReadLine(); CName = CName.ToUpper(); Console.Write("And you're phone number: "); Pnum = Console.ReadLine(); if (Pnum == null || Pnum == " ") { do { Console.WriteLine(); Console.WriteLine("Warning: You need to enter a Phone Number in order to identify you."); Console.Write("Please enter your phone number: "); Pnum = Console.ReadLine(); } while (Pnum != null || Pnum != ""); } var cust = PST.FirstOrDefault(x => x.FirstName == CName && x.PhoneNumber == Pnum); try { if (cust.FirstName != CName && cust.PhoneNumber != Pnum) { Console.WriteLine("WARNING: No such customer exists please try again..."); Menu(); } else { Console.WriteLine($"customer found!"); Console.Clear(); Suggested(CName, Pnum); var PSS = repo.GetStores(); int count = 1; Console.WriteLine("------Pizza------"); Console.WriteLine(""); foreach (var item in PSS) { Console.WriteLine(); Console.WriteLine("=============================="); Console.WriteLine($"{count}) {item.StoreName} ({item.StoreLocation})"); Console.WriteLine("=============================="); count++; } Console.Write("Where do you want to order from: "); int ch = Convert.ToInt32(Console.ReadLine()); switch (ch) { case 1: { storeName = "RBPizzas"; break; } case 2: { storeName = "Washinton DC"; break; } case 3: { storeName = "Alexandria"; break; } default: { Console.WriteLine("Wrong input"); Menu(); } break; } Console.Write("Choose you're pizza size: (1.REGULAR, 2.MEDIUM, 3.LARGE, 4.EXTRALARGE)"); int ps = Convert.ToInt32(Console.ReadLine()); switch (ps) { case 1: { Psize = "REGULAR"; break; } case 2: { Psize = "MEDIUM"; break; } case 3: { Psize = "LARGE"; break; } case 4: { Psize = "EXTRALARGE"; break; } default: { Console.WriteLine("Wrong input"); Menu(); } break; } if (Psize == "REGULAR") { PPrice = PPrice + 5; } else if (Psize == "MEDIUM") { PPrice = PPrice + 10; } else if (Psize == "LARGE") { PPrice = PPrice + 15; } else if (Psize == "EXTRALARGE") { PPrice = PPrice + 20; } Console.Write("Choose you're tooping: (1.CHICKEN, 2.PEPPERONI, 3.VEGGIES)"); int pt = Convert.ToInt32(Console.ReadLine()); Ptopping = Console.ReadLine(); switch (pt) { case 1: { Ptopping = "CHICKEN"; break; } case 2: { Ptopping = "PEPPERONI"; break; } case 3: { Ptopping = "VEGGIES"; break; } case 4: { Psize = "EXTRALARGE"; break; } default: { Console.WriteLine("Wrong input"); Menu(); } break; } if (Ptopping == "CHICKEN") { PPrice = PPrice + 1; } else if (Ptopping == "PEPPERONI") { PPrice = PPrice + .50; } else if (Ptopping == "VEGGIES") { PPrice = PPrice + 3; } Console.Write("Do you want garlic on you're pizza crust: [Y/N] "); string ans = Console.ReadLine(); ans = ans.ToUpper(); if (ans == "Y") { PGcrust = true; } else if (ans == "N") { PGcrust = false; } else { PGcrust = false; } if (PGcrust == true) { PPrice = PPrice + 1; } PFPrice = (PPrice + (PPrice * .08)); if (PFPrice < 500) { repo.AddOrders(ONum, CName, LName = cust.LastName, Olocation = cust.Location.ToUpper(), PPrice, PFPrice, ODate, storeName, Pnum); repo.SaveChanges(); repo.AddPizza(Psize, Ptopping, PGcrust, Oid); repo.SaveChanges(); } else { Console.WriteLine("WARNING: TOTAL PRICE SURPASSES 500$ "); Console.ReadLine(); Menu(); } Console.Clear(); Console.WriteLine("---Order Details---"); Console.WriteLine(); Console.WriteLine($"Order Number: {ONum}"); Console.Write(CName.ToUpper() + " "); Console.WriteLine(LName.ToUpper()); Console.WriteLine($"Customer #: {Pnum}"); Console.WriteLine($"Order location: {Olocation}"); Console.WriteLine($"Store: {storeName}"); Console.WriteLine($"Pizza size: {Psize}"); Console.WriteLine($"Pizza topping: {Ptopping}"); Console.WriteLine($"Garlic Crust: {PGcrust}"); Console.WriteLine($"Price: {PPrice}"); Console.WriteLine($"Total Price: {PFPrice}"); Console.WriteLine($"Order Date: {ODate}"); Console.ReadLine(); Menu(); } } catch (Exception) { Console.WriteLine("Error!"); Console.ReadLine(); Menu(); } }