public void ChooseOption(PizzaOption oldOption, List <PizzaOption> options) { PizzaOption chosenOption = null; //for testing input values Regex r = new Regex("^[1-" + options.Count + "]$"); int count = 0; string input = ""; foreach (PizzaOption option in options) { Console.WriteLine($"{++count}) {option} {((oldOption != null && oldOption == option) ? " - previous option" : "")}"); } do { Console.Write("Please Select One (required): "); input = Console.ReadKey().KeyChar.ToString(); Console.WriteLine(); if (!r.IsMatch(input)) { Console.WriteLine("Invalid Selection, Please Try Again"); } } while (!r.IsMatch(input)); int index = Convert.ToInt32(input); chosenOption = options[index - 1]; this._options.Add(chosenOption); this._total += chosenOption.Cost; }
public bool Display() { PizzaOption size = this._options.Find(t => t.Type == PizzaOption.PizzaType.SIZE); PizzaOption delivery = this._options.Find(t => t.Type == PizzaOption.PizzaType.DELIVERY); PizzaOption sauce = this._options.Find(t => t.Type == PizzaOption.PizzaType.SAUCE); PizzaOption cheese = this._options.Find(t => t.Type == PizzaOption.PizzaType.CHEESE); List <PizzaOption> meats = this._options.FindAll(t => t.Type == PizzaOption.PizzaType.MEAT); List <PizzaOption> veges = this._options.FindAll(t => t.Type == PizzaOption.PizzaType.VEGE); Console.Clear(); Console.BackgroundColor = ConsoleColor.White; Console.ForegroundColor = ConsoleColor.Black; Console.WriteLine(); Console.WriteLine($"{size.Name} Pizza\t${size.Cost.ToString("0.00")}\t"); Console.WriteLine($"{delivery.Name}\t${delivery.Cost.ToString("0.00")}\t"); Console.WriteLine($"Sauce\t\t\t"); Console.WriteLine($" {sauce.Name}\t${sauce.Cost.ToString("0.00")}\t"); Console.WriteLine($"Cheese\t\t\t"); Console.WriteLine($" {cheese.Name}\t${cheese.Cost.ToString("0.00")}\t"); Console.WriteLine($"Meats\t\t\t"); foreach (PizzaOption option in meats) { if (option.Name.Length < 4) { Console.WriteLine($" {option.Name}\t\t${option.Cost.ToString("0.00")}\t"); } else { Console.WriteLine($" {option.Name}\t${option.Cost.ToString("0.00")}\t"); } } Console.WriteLine($"Vegetables\t\t"); foreach (PizzaOption option in veges) { Console.WriteLine($" {option.Name}\t${option.Cost.ToString("0.00")}\t"); } Console.WriteLine($"------------------------"); Console.WriteLine($"Total\t\t${this._total.ToString("0.00")}\t"); Console.ResetColor(); Console.WriteLine(); Console.Write("Press any key to continue.."); Console.ReadKey(); return(true); }
private void SetPizzaCheese() { Console.Clear(); bool[] added = new bool[PizzaOption.AllCheeses.Count]; Console.WriteLine(); Console.WriteLine("Pizza Cheeses."); PizzaOption oldCheese = null; if (this._oldOptions.Count > 0) { oldCheese = this._oldOptions.Find(t => t.Type == PizzaOption.PizzaType.CHEESE); } ChooseOption(oldCheese, PizzaOption.AllCheeses); }
private void SetDelivery() { Console.Clear(); Console.WriteLine(); Console.WriteLine("Delivery Options."); PizzaOption oldDelivery = null; if (this._oldOptions.Count > 0) { oldDelivery = this._oldOptions.Find(t => t.Type == PizzaOption.PizzaType.DELIVERY); } ChooseOption(oldDelivery, PizzaOption.DeliveryOptions); }
private void SetPizzaSize() { Console.Clear(); Console.WriteLine(); Console.WriteLine("Pizza Sizes."); //int count = 0; PizzaOption oldSize = null; if (this._oldOptions.Count > 0) { oldSize = this._oldOptions.Find(t => t.Type == PizzaOption.PizzaType.SIZE); } ChooseOption(oldSize, PizzaOption.AllSizes); }