/// <summary> /// Takes the button selection for a menu item and updates screen to that items customization menu /// </summary> /// <param name="sender">Button</param> /// <param name="e">Event</param> public void MenuButtonPress(object sender, RoutedEventArgs e) { if (DataContext is Order orderX) { var o = this.FindAncestor <OrderControl>(); IOrderItem choice; FrameworkElement display; switch ((sender as Button).Name) { case "burger": display = new BriarheartBurgerCustom(); choice = new BriarheartBurger(); break; case "draugr": display = new DoubleDraugrCustom(); choice = new DoubleDraugr(); break; case "triple": display = new ThalmorTripleCustom(); choice = new ThalmorTriple(); break; case "skeleton": display = new SmokehousrSkeletonCustom(); choice = new SmokehouseSkeleton(); break; case "omelette": display = new GardenOrcOmeletteCustom(); choice = new GardenOrcOmelette(); break; case "poacher": display = new PhillyPoacherCustom(); choice = new PhillyPoacher(); break; case "t_bone": display = new NoCustom(); choice = new ThugsTBone(); break; case "salad": SideCustom salad = new SideCustom(); salad.Title.Text = "Vokun Salad Customization"; display = salad; choice = new VokunSalad(); break; case "miraak": SideCustom miraak = new SideCustom(); miraak.Title.Text = "Fried Miraak Customization"; display = miraak; choice = new FriedMiraak(); break; case "grits": SideCustom grits = new SideCustom(); grits.Title.Text = "Mad Otar Grits Customization"; display = grits; choice = new MadOtarGrits(); break; case "fries": SideCustom fries = new SideCustom(); fries.Title.Text = "DragonBorn Waffle Fries Customization"; display = fries; choice = new DragonbornWaffleFries(); break; case "water": display = new WarriorWaterCustom(); choice = new WarriorWater(); break; case "soda": display = new SailorSodaCustom(); choice = new SailorSoda(); break; case "coffee": display = new CandlehearthCoffeeCustom(); choice = new CandlehearthCoffee(); break; case "milk": display = new MarkarthMilkCustom(); choice = new MarkarthMilk(); break; case "juice": display = new ArentinoAppleJuiceCustom(); choice = new AretinoAppleJuice(); break; case "ComboCreate": display = new ComboCustom(); choice = new Combo(); break; default: display = new MenuSelection(); choice = null; break; } display.DataContext = choice; choice.Display = display; o?.DisplayUpdate(display); } }
// Edit item click event handler private void EditItemClick(object sender, SelectionChangedEventArgs e) { if (OrderList.SelectedItem == null) { return; } DependencyObject parent = this; do { parent = LogicalTreeHelper.GetParent(parent); } while (!(parent is MainWindow || parent is null)); if (parent is MainWindow menu) { string itemString = OrderList.SelectedItem.ToString(); if (itemString.Contains("Briarheart Burger")) { BriarheartBurger item = e.AddedItems[0] as BriarheartBurger; if (DataContext is Order order) { var screen = new BriarheartBurgerCustom(); screen.DataContext = item; menu.displayBorder.Child = screen; } } if (itemString.Contains("Double Draugr")) { DoubleDraugr item = e.AddedItems[0] as DoubleDraugr; if (DataContext is Order order) { var screen = new DoubleDraugrCustom(); screen.DataContext = item; menu.displayBorder.Child = screen; } } if (itemString.Contains("Thalmor Triple")) { ThalmorTriple item = e.AddedItems[0] as ThalmorTriple; if (DataContext is Order order) { var screen = new ThalmorTripleCustom(); screen.DataContext = item; menu.displayBorder.Child = screen; } } if (itemString.Contains("Garden Orc Omelette")) { GardenOrcOmelette item = e.AddedItems[0] as GardenOrcOmelette; if (DataContext is Order order) { var screen = new GardenOrcOmeletteCustom(); screen.DataContext = item; menu.displayBorder.Child = screen; } } if (itemString.Contains("Philly Poacher")) { PhillyPoacher item = e.AddedItems[0] as PhillyPoacher; if (DataContext is Order order) { var screen = new PhillyPoacherCustom(); screen.DataContext = item; menu.displayBorder.Child = screen; } } if (itemString.Contains("Smokehouse Skeleton")) { SmokehouseSkeleton item = e.AddedItems[0] as SmokehouseSkeleton; if (DataContext is Order order) { var screen = new SmokehouseSkeletonCustom(); screen.DataContext = item; menu.displayBorder.Child = screen; } } if (itemString.Contains("Thugs T-Bone")) { ThugsTBone item = e.AddedItems[0] as ThugsTBone; if (DataContext is Order order) { var screen = new ThugsTBoneCustom(); screen.DataContext = item; menu.displayBorder.Child = screen; } } if (itemString.Contains("Dragonborn Waffle Fries")) { DragonbornWaffleFries item = e.AddedItems[0] as DragonbornWaffleFries; if (DataContext is Order order) { var screen = new DragonbornWaffleFriesCustom(); screen.DataContext = item; menu.displayBorder.Child = screen; } } if (itemString.Contains("Fried Miraak")) { FriedMiraak item = e.AddedItems[0] as FriedMiraak; if (DataContext is Order order) { var screen = new FriedMiraakCustom(); screen.DataContext = item; menu.displayBorder.Child = screen; } } if (itemString.Contains("Mad Otar Grits")) { MadOtarGrits item = e.AddedItems[0] as MadOtarGrits; if (DataContext is Order order) { var screen = new MadOtarGritsCustom(); screen.DataContext = item; menu.displayBorder.Child = screen; } } if (itemString.Contains("Vokun Salad")) { VokunSalad item = e.AddedItems[0] as VokunSalad; if (DataContext is Order order) { var screen = new VokunSaladCustom(); screen.DataContext = item; menu.displayBorder.Child = screen; } } if (itemString.Contains("Arentino Apple Juice")) { ArentinoAppleJuice item = e.AddedItems[0] as ArentinoAppleJuice; if (DataContext is Order order) { var screen = new ArentinoAppleJuiceCustom(); screen.DataContext = item; menu.displayBorder.Child = screen; } } if (itemString.Contains("Candlehearth Coffee")) { CandlehearthCoffee item = e.AddedItems[0] as CandlehearthCoffee; if (DataContext is Order order) { var screen = new CandlehearthCoffeeCustom(); screen.DataContext = item; menu.displayBorder.Child = screen; } } if (itemString.Contains("Markarth Milk")) { MarkarthMilk item = e.AddedItems[0] as MarkarthMilk; if (DataContext is Order order) { var screen = new MarkarthMilkCustom(); screen.DataContext = item; menu.displayBorder.Child = screen; } } if (itemString.Contains("Sailor Soda")) { SailorSoda item = e.AddedItems[0] as SailorSoda; if (DataContext is Order order) { var screen = new SailorSodaCustom(); screen.DataContext = item; menu.displayBorder.Child = screen; } } if (itemString.Contains("Warrior Water")) { WarriorWater item = e.AddedItems[0] as WarriorWater; if (DataContext is Order order) { var screen = new WarriorWaterCustom(); screen.DataContext = item; menu.displayBorder.Child = screen; } } } }
/// <summary> /// Order item method to add to the list and change price /// </summary> /// <param name="sender">order button</param> /// <param name="e">event handler when button pressed</param> void OrderTheItem(object sender, RoutedEventArgs e) { switch (StringGetter) { case "aretinoAppleJuice": AretinoAppleJuice drink = new AretinoAppleJuice(); if (this.ice.IsChecked == true) { drink.Ice = true; } if (this.sizer.Text == "Small") { drink.Size = BleakwindBuffet.Data.Enums.Size.Small; } if (this.sizer.Text == "Medium") { drink.Size = BleakwindBuffet.Data.Enums.Size.Medium; } if (this.sizer.Text == "Large") { drink.Size = BleakwindBuffet.Data.Enums.Size.Large; } if (modifier == true) { ((AretinoAppleJuice)Item).Size = drink.Size; ((AretinoAppleJuice)Item).Ice = drink.Ice; } (Application.Current.MainWindow as MainWindow).curOrder.Add(drink); return; case "candleHearthCoffee": CandlehearthCoffee coffee = new CandlehearthCoffee(); if (this.ice.IsChecked == true) { coffee.Ice = true; } if (this.cream.IsChecked == true) { coffee.RoomForCream = true; } if (this.decaf.IsChecked == true) { coffee.Decaf = true; } if (this.sizer.Text == "Small") { coffee.Size = BleakwindBuffet.Data.Enums.Size.Small; } if (this.sizer.Text == "Medium") { coffee.Size = BleakwindBuffet.Data.Enums.Size.Medium; } if (this.sizer.Text == "Large") { coffee.Size = BleakwindBuffet.Data.Enums.Size.Large; } if (modifier == true) { foreach (IOrderItem item in (Application.Current.MainWindow as MainWindow).curOrder.Orders) { if (item.GetType().IsAssignableFrom(coffee.GetType())) { (((CandlehearthCoffee)item).Size) = coffee.Size; (((CandlehearthCoffee)item).Ice) = coffee.Ice; (((CandlehearthCoffee)item).Decaf) = coffee.Decaf; (((CandlehearthCoffee)item).RoomForCream) = coffee.RoomForCream; } } } else { if (Combo.IsChecked == true && (Application.Current.MainWindow as MainWindow).Combo.Drink == null) { (Application.Current.MainWindow as MainWindow).Combo.Drink = coffee; } else { (Application.Current.MainWindow as MainWindow).curOrder.Add(coffee); } } return; case "markarthMilk": MarkarthMilk milk = new MarkarthMilk(); if (this.ice.IsChecked == true) { milk.Ice = true; } if (this.sizer.Text == "Small") { milk.Size = BleakwindBuffet.Data.Enums.Size.Small; } if (this.sizer.Text == "Medium") { milk.Size = BleakwindBuffet.Data.Enums.Size.Medium; } if (this.sizer.Text == "Large") { milk.Size = BleakwindBuffet.Data.Enums.Size.Large; } if (modifier == true) { foreach (IOrderItem item in (Application.Current.MainWindow as MainWindow).curOrder) { if (item.GetType().IsAssignableFrom(milk.GetType())) { ((CandlehearthCoffee)item).Size = milk.Size; ((CandlehearthCoffee)item).Ice = milk.Ice; } } } else { if (Combo.IsChecked == true && (Application.Current.MainWindow as MainWindow).Combo.Drink == null) { (Application.Current.MainWindow as MainWindow).Combo.Drink = milk; } (Application.Current.MainWindow as MainWindow).curOrder.Add(milk); } return; case "sailorSoda": SailorSoda soda = new SailorSoda(); if (this.ice.IsChecked == false) { soda.Ice = false; } if (this.blackberry.IsChecked == true) { soda.Flavor = SodaFlavor.Blackberry; } if (this.cherry.IsChecked == true) { soda.Flavor = SodaFlavor.Cherry; } if (this.lemon.IsChecked == true) { soda.Flavor = SodaFlavor.Lemon; } if (this.watermelon.IsChecked == true) { soda.Flavor = SodaFlavor.Watermelon; } if (this.grapefruit.IsChecked == true) { soda.Flavor = SodaFlavor.Grapefruit; } if (this.peach.IsChecked == true) { soda.Flavor = SodaFlavor.Peach; } if (this.sizer.Text == "Small") { soda.Size = BleakwindBuffet.Data.Enums.Size.Small; } if (this.sizer.Text == "Medium") { soda.Size = BleakwindBuffet.Data.Enums.Size.Medium; } if (this.sizer.Text == "Large") { soda.Size = BleakwindBuffet.Data.Enums.Size.Large; } if (Combo.IsChecked == true && (Application.Current.MainWindow as MainWindow).Combo.Drink == null) { (Application.Current.MainWindow as MainWindow).Combo.Drink = soda; } else { (Application.Current.MainWindow as MainWindow).curOrder.Add(soda); } return; case "warriorWater": WarriorWater water = new WarriorWater(); if (this.ice.IsChecked == false) { water.Ice = false; } if (this.sizer.Text == "Small") { water.Size = BleakwindBuffet.Data.Enums.Size.Small; } if (this.sizer.Text == "Medium") { water.Size = BleakwindBuffet.Data.Enums.Size.Medium; } if (this.sizer.Text == "Large") { water.Size = BleakwindBuffet.Data.Enums.Size.Large; } if (Combo.IsChecked == true && (Application.Current.MainWindow as MainWindow).Combo.Drink == null) { (Application.Current.MainWindow as MainWindow).Combo.Drink = water; } else { (Application.Current.MainWindow as MainWindow).curOrder.Add(water); } return; } }