public void AllContainsRibs() { IOrderItem ribs = new RustlersRibs(); IEnumerable <IOrderItem> menuList = Menu.All(); Assert.Contains(ribs, menuList); }
/// <summary> /// Listener for the click event of the Rustler's Ribs Button /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void OnAddRustlersRibsButton_Clicked(object sender, RoutedEventArgs e) { RustlersRibs r = new RustlersRibs(); var screen = new CustomizeRustlersRibs(); AddItemAndOpenCustomizationScreen(r, screen); }
public void EntreesContainsRibs() { IOrderItem ribs = new RustlersRibs(); IEnumerable <IOrderItem> entreeList = Menu.Entrees(); Assert.Contains(ribs, entreeList); }
public void ShouldBeAbleToAddEntrees() { var order = new Order(); var item0 = new AngryChicken(); var item1 = new CowpokeChili(); var item2 = new DakotaDoubleBurger(); var item3 = new PecosPulledPork(); var item4 = new RustlersRibs(); var item5 = new TrailBurger(); var item6 = new TexasTripleBurger(); order.Add(item0); order.Add(item1); order.Add(item2); order.Add(item3); order.Add(item4); order.Add(item5); order.Add(item6); Assert.Contains(item0, order.Items); Assert.Contains(item1, order.Items); Assert.Contains(item2, order.Items); Assert.Contains(item3, order.Items); Assert.Contains(item4, order.Items); Assert.Contains(item5, order.Items); Assert.Contains(item6, order.Items); }
public void RustlersRibsPorkShouldImplementINotifyPropertyChanged() { var rr = new RustlersRibs(); Order newOrder = new Order(1); newOrder.Add(rr); Assert.IsAssignableFrom <INotifyPropertyChanged>(newOrder); }
/// <summary> /// Handles rustlers ribs button /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AddRustlersRibs_Click(object sender, RoutedEventArgs e) { var item = new RustlersRibs(); if (DataContext is Order data) { data.Add(item); } }
private void RustlersRibsButton_Click(object sender, RoutedEventArgs e) { RustlersRibs rr = new RustlersRibs(); if (DataContext is Order order) { order.Add(new RustlersRibs()); } }
/// <summary> /// Creates a click event for the Rustler's Ribs button /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnAddRustlersRibsClicked(object sender, RoutedEventArgs e) { var orderControl = this.FindAncestor <OrderControl>(); if (sender is Button) { var item = new RustlersRibs(); AddItemAndOpenCustomScreen(item, null); } }
/// <summary> /// Adds Rustlers Ribs to order list when corresponding button is pushed /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void OnRustlersRibsAdded(object sender, RoutedEventArgs e) { var orderControl = this.FindAncestor <OrderControl>(); if (DataContext is Order data) { var entree = new RustlersRibs(); FrameworkElement screen = null; AddItemAndOpenCustomizationScreen(entree, screen); } }
/// <summary> /// Click event to add Rustlers Ribs /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void OnAddRustlersRibsButtonClicked(Object sender, RoutedEventArgs e) { var orderControl = this.FindAncestor <OrderControl>(); if (DataContext is Order data) { var entree = new RustlersRibs(); var screen = new CustomizeRustlersRibs(); AddItemAndOnCustomizationScreen(entree, screen); } }
/// <summary> /// Event handler for adding the rustler's ribs entree to the order /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void OnAddRustlersRibsButtonClicked(object sender, RoutedEventArgs e) { if (DataContext is Order data) { var newRustlersRibs = new RustlersRibs(); var screen = new CustomizeRustlersRibs(); screen.DataContext = newRustlersRibs; data.Add(newRustlersRibs); orderControl = this.FindAncestor <OrderControl>(); orderControl.SwapScreen(screen); } }
/// <summary> /// The event handler for the rustler ribs /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void AddToOrderRustlersRibs(object sender, RoutedEventArgs e) { var orderControl = this.FindAncestor <OrderControl>(); if (DataContext is Order data) { var entree = new RustlersRibs(); var screen = new CustomizeRustlersRibs(); screen.DataContext = entree; data.Add(new RustlersRibs()); orderControl.SwapScreen(new CustomizeRustlersRibs()); } }
/// <summary> /// Adds Rustlers Ribs to the list /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AddRustlersRibsButton_Click(object sender, RoutedEventArgs e) { var orderControl = this.FindAncestor <OrderControl>(); var screen = new RustlersRibsCustomization(); var item = new RustlersRibs(); screen.DataContext = item; if (DataContext is Order order) { order.Add(item); orderControl?.SwapScreen(screen); } }
/// <summary> /// Add ribs button event handler /// </summary> private void AddRustlerRibs_Click(object sender, RoutedEventArgs e) { var orderControl = this.FindAncestor <OrderControl>(); RustlersRibs temp = new RustlersRibs(); if (DataContext is Order order) { var screen = new RustlersRibsCustomization(); screen.DataContext = temp; order.Add(temp); orderControl?.SwapScreen(screen); } }
/// <summary> /// adds rustlers ribs to ordersummary control and order column on mainwindow /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void OnAddRustlersRibsButtonClicked(object sender, RoutedEventArgs e) { var orderControl = this.FindAncestor <OrderControl>(); //orderControl.DataContext; if (DataContext is Order data) // checks if you can cast it and if assigns it to data { var item = new RustlersRibs(); var screen = new CustomizeRustlersRibs(); screen.DataContext = item; data.Add(item); //orderControl.SwapScreen(screen); AddItemandOpenCustomizationScreen(item, screen); } }
public void SearchReturnsCorrectReuslt() { IEnumerable <IOrderItem> menu = Menu.CompleteMenu(); IEnumerable <IOrderItem> result = Menu.Search(menu, "ribs"); var types = new List <Type>(); foreach (IOrderItem item in result) { types.Add(item.GetType()); } IOrderItem r = new RustlersRibs(); Assert.Contains(r.GetType(), types); }
public void OnAddEntreeButtonClicked(object sender, RoutedEventArgs e) { var orderControl = this.FindAncestor <OrderControl>(); if (DataContext is Order order) { if (sender is Button button) { switch (button.Tag) { case "CowpokeChili": var cowpokeEntree = new CowpokeChili(); var screen = new CustomizeEntree("Cowpoke Chili"); screen.DataContext = cowpokeEntree; order.Add(cowpokeEntree); orderControl.SwapScreen(screen); order.InvokePropertyChanged(); break; case "RustlersRibs": var rustlersEntree = new RustlersRibs(); screen = new CustomizeEntree("Rustlers Ribs"); screen.DataContext = rustlersEntree; order.Add(rustlersEntree); orderControl.SwapScreen(screen); order.InvokePropertyChanged(); break; case "AngryChicken": var angryEntree = new AngryChicken(); screen = new CustomizeEntree("Angry Chicken"); screen.DataContext = angryEntree; order.Add(angryEntree); orderControl.SwapScreen(screen); order.InvokePropertyChanged(); break; case "TexasTripleBurger": var texasEntree = new TexasTripleBurger(); screen = new CustomizeEntree("Texas Triple"); screen.DataContext = texasEntree; order.Add(texasEntree); orderControl.SwapScreen(screen); break; case "PecosPulledPork": var pecosEntree = new PecosPulledPork(); screen = new CustomizeEntree("Pecos Pulled Pork"); screen.DataContext = pecosEntree; order.Add(pecosEntree); orderControl.SwapScreen(screen); break; case "DakotaDoubleBurger": var dakotaEntree = new DakotaDoubleBurger(); screen = new CustomizeEntree("Dakota Double Burger"); screen.DataContext = dakotaEntree; order.Add(dakotaEntree); orderControl.SwapScreen(screen); break; case "TrailBurger": var trailEntree = new TrailBurger(); screen = new CustomizeEntree("Trail Burger"); screen.DataContext = trailEntree; order.Add(trailEntree); orderControl.SwapScreen(screen); break; } } } }
public void RustlersRibsShouldImplentInotifyPropertyChanged() { var ribs = new RustlersRibs(); Assert.IsAssignableFrom <INotifyPropertyChanged>(ribs); }
public void DefaultSpecialInstructionsShouldBeEmpty() { var ribs = new RustlersRibs(); Assert.Empty(ribs.SpecialInstructions); }
public void DefaultCaloriesShouldBeCorrect() { var ribs = new RustlersRibs(); Assert.Equal <uint>(894, ribs.Calories); }
public void DefaultPriceShouldBeCorrect() { var ribs = new RustlersRibs(); Assert.Equal(7.50, ribs.Price); }
public void RustlersRibsShouldImplementINotifyPropertyChanged() { var obj = new RustlersRibs(); Assert.IsAssignableFrom <INotifyPropertyChanged>(obj); }
/// <summary> /// Event handler for when an add button is clicked /// </summary> /// <param name="sender"> The button that was clicked </param> /// <param name="e"> The event arguments </param> public void OnItemAddButtonClicked(object sender, RoutedEventArgs e) { IOrderItem item; FrameworkElement screen = null; var orderControl = this.FindAncestor <OrderControl>(); if (DataContext is Order order) { if (sender is Button button) { switch (button.Tag) { case "CowpokeChili": var chili = new CowpokeChili(); var chiliScreen = new CustomizeCowpokeChili(DataContext); AddItemAndOpenCustomizationMenu(chili, chiliScreen); break; case "TrailBurger": var burger = new TrailBurger(); var burgerScreen = new CustomizeTrailBurger(DataContext); AddItemAndOpenCustomizationMenu(burger, burgerScreen); break; case "DakotaDouble": var doubleBurger = new DakotaDoubleBurger(); var doubleScreen = new CustomizeDakotaDoubleBurger(DataContext); AddItemAndOpenCustomizationMenu(doubleBurger, doubleScreen); break; case "TexasTriple": var triple = new TexasTripleBurger(); var tripleScreen = new CustomizeTexasTripleBurger(DataContext); AddItemAndOpenCustomizationMenu(triple, tripleScreen); break; case "AngryChicken": var chicken = new AngryChicken(); var chickenScreen = new CustomizeAngryChicken(DataContext); AddItemAndOpenCustomizationMenu(chicken, chickenScreen); break; case "PecosPulledPork": var pulled = new PecosPulledPork(); var pulledScreen = new CustomizePecosPulledPork(DataContext); AddItemAndOpenCustomizationMenu(pulled, pulledScreen); break; case "RustlersRibs": var ribs = new RustlersRibs(); order.Add(ribs); break; case "BakedBeans": item = new BakedBeans(); screen = new CustomizeBakedBeans(DataContext); AddItemAndOpenCustomizationMenu(item, screen); break; case "ChiliCheeseFries": item = new ChiliCheeseFries(); screen = new CustomizeChiliCheeseFries(DataContext); AddItemAndOpenCustomizationMenu(item, screen); break; case "CornDodgers": item = new CornDodgers(); screen = new CustomizeCornDodgers(DataContext); AddItemAndOpenCustomizationMenu(item, screen); break; case "PanDeCampo": item = new PanDeCampo(); screen = new CustomizePanDeCampo(DataContext); AddItemAndOpenCustomizationMenu(item, screen); break; case "CowboyCoffee": item = new CowboyCoffee(); screen = new CustomizeCowboyCoffee(DataContext); AddItemAndOpenCustomizationMenu(item, screen); break; case "JerkedSoda": item = new JerkedSoda(); screen = new CustomizeJerkedSoda(DataContext); AddItemAndOpenCustomizationMenu(item, screen); break; case "TexasTea": item = new TexasTea(); screen = new CustomizeTexasTea(DataContext); AddItemAndOpenCustomizationMenu(item, screen); break; case "Water": item = new Water(); screen = new CustomizeWater(DataContext); AddItemAndOpenCustomizationMenu(item, screen); break; } } } }
public void RustlersRibsImplementsINotifyPropertyChanged() { var rustlersRibs = new RustlersRibs(); Assert.IsAssignableFrom <INotifyPropertyChanged>(rustlersRibs); }
private void MenuButton_Click(object sender, RoutedEventArgs e) { var orderControl = this.FindAncestor <OrderControl>(); if (DataContext is Order order) { if (sender is Button button) { switch (button.Content) { case "Cowpoke Chili": var chiliItem = new CowpokeChili(); var chiliScreen = new CowpokeChiliCustomization(); chiliScreen.DataContext = chiliItem; order.Add(chiliItem); orderControl?.SwapScreen(chiliScreen); break; case "Angry Chicken": var chickenItem = new AngryChicken(); var chickenScreen = new AngryChickenCustomization(); chickenScreen.DataContext = chickenItem; order.Add(chickenItem); orderControl?.SwapScreen(chickenScreen); break; case "Dakota Double Burger": var doubleItem = new DakotaDoubleBurger(); var doubleScreen = new DakotaDoubleBurgerCustomization(); doubleScreen.DataContext = doubleItem; order.Add(doubleItem); orderControl?.SwapScreen(doubleScreen); break; case "Pecos Pulled Pork": var pecosItem = new PecosPulledPork(); var pecosScreen = new PecosPulledPorkCustomization(); pecosScreen.DataContext = pecosItem; order.Add(pecosItem); orderControl?.SwapScreen(pecosScreen); break; case "Rustler's Ribs": var ribsItem = new RustlersRibs(); var ribsScreen = new RustlersRibsCustomization(); ribsScreen.DataContext = ribsItem; order.Add(ribsItem); orderControl?.SwapScreen(ribsScreen); break; case "Texas Triple Burger": var tripleItem = new TexasTripleBurger(); var tripleScreen = new TexasTripleBurgerCustomization(); tripleScreen.DataContext = tripleItem; order.Add(tripleItem); orderControl?.SwapScreen(tripleScreen); break; case "Trail Burger": var burgerItem = new TrailBurger(); var burgerScreen = new TrailBurgerCustomization(); burgerScreen.DataContext = burgerItem; order.Add(burgerItem); orderControl?.SwapScreen(burgerScreen); break; case "Baked Beans": var beansItem = new BakedBeans(); var beansScreen = new SideCustomization(beansItem); order.Add(beansItem); orderControl?.SwapScreen(beansScreen); break; case "Chili Cheese Fries": var friesItem = new ChiliCheeseFries(); var friesScreen = new SideCustomization(friesItem); order.Add(friesItem); orderControl?.SwapScreen(friesScreen); break; case "Corn Dodgers": var cornItem = new CornDodgers(); var cornScreen = new SideCustomization(cornItem); order.Add(cornItem); orderControl?.SwapScreen(cornScreen); break; case "Pan de Campo": var panItem = new PanDeCampo(); var panScreen = new SideCustomization(panItem); order.Add(panItem); orderControl?.SwapScreen(panScreen); break; case "Cowboy Coffee": var coffeeItem = new CowboyCoffee(); var coffeeScreen = new CowboyCoffeeCustomization(coffeeItem); order.Add(coffeeItem); orderControl?.SwapScreen(coffeeScreen); break; case "Jerked Soda": var sodaItem = new JerkedSoda(); var sodaScreen = new JerkedSodaCustomization(sodaItem); order.Add(sodaItem); orderControl?.SwapScreen(sodaScreen); break; case "Texas Tea": var teaItem = new TexasTea(); var teaScreen = new TexasTeaCustomization(teaItem); order.Add(teaItem); orderControl?.SwapScreen(teaScreen); break; case "Water": var waterItem = new Water(); var waterScreen = new WaterCustomization(waterItem); order.Add(waterItem); orderControl?.SwapScreen(waterScreen); break; } } } }
private void EditItemClick(object sender, SelectionChangedEventArgs e) { if (OrderList.SelectedItem == null) { return; } string itemString = OrderList.SelectedItem.ToString(); if (itemString.Contains("Rustler's Ribs")) { var orderControl = this.FindAncestor <OrderControl>(); RustlersRibs item = e.AddedItems[0] as RustlersRibs; if (DataContext is Order order) { var screen = new RustlersRibsCustomization(); screen.DataContext = item; orderControl?.SwapScreen(screen); } } if (itemString.Contains("Pecos Pulled Pork")) { var orderControl = this.FindAncestor <OrderControl>(); PecosPulledPork item = e.AddedItems[0] as PecosPulledPork; if (DataContext is Order order) { var screen = new PecosPulledPordCustomization(); screen.DataContext = item; orderControl?.SwapScreen(screen); } } if (itemString.Contains("Angry Chicken")) { var orderControl = this.FindAncestor <OrderControl>(); AngryChicken item = e.AddedItems[0] as AngryChicken; if (DataContext is Order order) { var screen = new AngryChickenCustiomiztion(); screen.DataContext = item; orderControl?.SwapScreen(screen); } } if (itemString.Contains("Cowpoke Chili")) { var orderControl = this.FindAncestor <OrderControl>(); CowpokeChili item = e.AddedItems[0] as CowpokeChili; if (DataContext is Order order) { var screen = new CowpokeChiliCustomization(); screen.DataContext = item; orderControl?.SwapScreen(screen); } } if (itemString.Contains("Trail Burger")) { var orderControl = this.FindAncestor <OrderControl>(); TrailBurger item = e.AddedItems[0] as TrailBurger; if (DataContext is Order order) { var screen = new TrailBurgerCustomization(); screen.DataContext = item; orderControl?.SwapScreen(screen); } } if (itemString.Contains("Dakota Double Burger")) { var orderControl = this.FindAncestor <OrderControl>(); DakotaDoubleBurger item = e.AddedItems[0] as DakotaDoubleBurger; if (DataContext is Order order) { var screen = new DakotaDoubleBurgerCustomization(); screen.DataContext = item; orderControl?.SwapScreen(screen); } } if (itemString.Contains("Texas Triple Burger")) { var orderControl = this.FindAncestor <OrderControl>(); TexasTripleBurger item = e.AddedItems[0] as TexasTripleBurger; if (DataContext is Order order) { var screen = new TexasTripleBurgerCustomization(); screen.DataContext = item; orderControl?.SwapScreen(screen); } } if (itemString.Contains("Chili Cheese Fries")) { var orderControl = this.FindAncestor <OrderControl>(); ChiliCheeseFries item = e.AddedItems[0] as ChiliCheeseFries; if (DataContext is Order order) { var screen = new ChiliCheeseFriesCustomization(); screen.DataContext = item; orderControl?.SwapScreen(screen); } } if (itemString.Contains("Corn Dodgers")) { var orderControl = this.FindAncestor <OrderControl>(); CornDodgers item = e.AddedItems[0] as CornDodgers; if (DataContext is Order order) { var screen = new CornDodgersCustomization(); screen.DataContext = item; orderControl?.SwapScreen(screen); } } if (itemString.Contains("Pan de Campo")) { var orderControl = this.FindAncestor <OrderControl>(); PanDeCampo item = e.AddedItems[0] as PanDeCampo; if (DataContext is Order order) { var screen = new PanDeCampoCustomization(); screen.DataContext = item; orderControl?.SwapScreen(screen); } } if (itemString.Contains("Baked Beans")) { var orderControl = this.FindAncestor <OrderControl>(); BakedBeans item = e.AddedItems[0] as BakedBeans; if (DataContext is Order order) { var screen = new BakedBeansCustomization(); screen.DataContext = item; orderControl?.SwapScreen(screen); } } if (itemString.Contains("Jerked Soda")) { var orderControl = this.FindAncestor <OrderControl>(); JerkedSoda item = e.AddedItems[0] as JerkedSoda; if (DataContext is Order order) { var screen = new JerkedSodaCustomization(); screen.DataContext = item; orderControl?.SwapScreen(screen); } } if (itemString.Contains("Cowboy Coffee")) { var orderControl = this.FindAncestor <OrderControl>(); CowboyCoffee item = e.AddedItems[0] as CowboyCoffee; if (DataContext is Order order) { var screen = new CowboyCoffeeCustomization(); screen.DataContext = item; orderControl?.SwapScreen(screen); } } if (itemString.Contains("Tea")) { var orderControl = this.FindAncestor <OrderControl>(); TexasTea item = e.AddedItems[0] as TexasTea; if (DataContext is Order order) { var screen = new TexasTeaCustomization(); screen.DataContext = item; orderControl?.SwapScreen(screen); } } if (itemString.Contains("Water")) { var orderControl = this.FindAncestor <OrderControl>(); Water item = e.AddedItems[0] as Water; if (DataContext is Order order) { var screen = new WaterCustomization(); screen.DataContext = item; orderControl?.SwapScreen(screen); } } }
/// <summary> /// An event handler to add Cow Poke Chili to a list /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AddItem(object sender, RoutedEventArgs e) { var orderControl = this.FindAncestor <OrderControl>(); var screen = new CustomizeItemControl(); //ListBox.Items.Add(new CowpokeChili()); var result = DataContext is IOrderItem; if (DataContext is Order order) { if (sender is Button button) { switch (button.Tag) { case "cowPokeChili": var cowpokeChili = new CowpokeChili(); AddItemAndOpenCustomizationScreen(cowpokeChili, screen); break; case "rustlersRibs": var rustlersRibs = new RustlersRibs(); AddItemAndOpenCustomizationScreen(rustlersRibs, null); break; case "pecosPulledPork": var pecosPulledPork = new PecosPulledPork(); AddItemAndOpenCustomizationScreen(pecosPulledPork, screen); break; case "trailBurger": var trailBurger = new TrailBurger(); AddItemAndOpenCustomizationScreen(trailBurger, screen); break; case "dakotaDoubleBurger": var dakotaDoubleBurger = new DakotaDoubleBurger(); AddItemAndOpenCustomizationScreen(dakotaDoubleBurger, screen); break; case "texasTripleBurger": var texasTripleBurger = new TexasTripleBurger(); AddItemAndOpenCustomizationScreen(texasTripleBurger, screen); break; case "angryChicken": var angryChicken = new AngryChicken(); AddItemAndOpenCustomizationScreen(angryChicken, screen); break; case "chiliCheeseFries": var chiliCheeseFires = new ChiliCheeseFries(); AddItemAndOpenCustomizationScreen(chiliCheeseFires, screen); break; case "cornDodgers": var cornDodgers = new CornDodgers(); AddItemAndOpenCustomizationScreen(cornDodgers, screen); break; case "panDeCampo": var panDeCamp = new PanDeCampo(); AddItemAndOpenCustomizationScreen(panDeCamp, screen); break; case "bakedBeans": var bakedBeans = new BakedBeans(); AddItemAndOpenCustomizationScreen(bakedBeans, screen); break; case "jerkedSoda": var jerkedSoda = new JerkedSoda(); AddItemAndOpenCustomizationScreen(jerkedSoda, screen); break; case "texasTea": var texasTea = new TexasTea(); AddItemAndOpenCustomizationScreen(texasTea, screen); break; case "cowboyCoffee": var cowboyCoffee = new CowboyCoffee(); AddItemAndOpenCustomizationScreen(cowboyCoffee, screen); break; case "water": var water = new Water(); AddItemAndOpenCustomizationScreen(water, screen); break; } } } }
/// <summary> /// Adds the selected item to the current order and /// swaps the screen to the customization screen for /// the order item just added. /// </summary> /// <param name="sender">The clicked button.</param> /// <param name="args"></param> void OnAddOrderItemButtonClicked(object sender, RoutedEventArgs args) { var orderControl = this.FindAncestor <OrderControl>(); if (DataContext is Order order) { if (sender is Button button) { switch (button.Tag) { case "CowpokeChili": var newChili = new CowpokeChili(); var chiliScreen = new CowpokeChiliCustomization(); chiliScreen.DataContext = newChili; order.Add(newChili); orderControl?.SwapScreen(chiliScreen); break; case "AngryChicken": var newChicken = new AngryChicken(); var chickenScreen = new AngryChickenCustomization(); chickenScreen.DataContext = newChicken; order.Add(newChicken); orderControl?.SwapScreen(chickenScreen); break; case "RustlersRibs": var newRibs = new RustlersRibs(); var ribsScreen = new RustlersRibsCustomization(); ribsScreen.DataContext = newRibs; order.Add(newRibs); orderControl?.SwapScreen(ribsScreen); break; case "PecosPulledPork": var newPork = new PecosPulledPork(); var porkScreen = new PecosPulledPorkCustomization(); porkScreen.DataContext = newPork; order.Add(newPork); orderControl?.SwapScreen(porkScreen); break; case "TrailBurger": var newTrail = new TrailBurger(); var trailScreen = new TrailBurgerCustomization(); trailScreen.DataContext = newTrail; order.Add(newTrail); orderControl?.SwapScreen(trailScreen); break; case "DakotaDoubleBurger": var newDakota = new DakotaDoubleBurger(); var dakotaScreen = new DakotaDoubleBurgerCustomization(); dakotaScreen.DataContext = newDakota; order.Add(newDakota); orderControl?.SwapScreen(dakotaScreen); break; case "TexasTripleBurger": var newTriple = new TexasTripleBurger(); var tripleScreen = new TexasTripleBurgerCustomization(); tripleScreen.DataContext = newTriple; order.Add(newTriple); orderControl?.SwapScreen(tripleScreen); break; case "ChiliCheeseFries": var newFries = new ChiliCheeseFries(); var friesScreen = new ChiliCheeseFriesCustomization(); friesScreen.DataContext = newFries; // Check the appropriate size radio button on the friesScreen. switch (newFries.Size) { case CowboyCafe.Data.Size.Large: friesScreen.SizeLarge.IsChecked = true; break; case CowboyCafe.Data.Size.Medium: friesScreen.SizeMedium.IsChecked = true; break; case CowboyCafe.Data.Size.Small: friesScreen.SizeSmall.IsChecked = true; break; } order.Add(newFries); orderControl?.SwapScreen(friesScreen); break; case "CornDodgers": var newDodgers = new CornDodgers(); var dodgersScreen = new CornDodgersCustomization(); dodgersScreen.DataContext = newDodgers; // Check the appropriate size radio button on the dodgersScreen. switch (newDodgers.Size) { case CowboyCafe.Data.Size.Large: dodgersScreen.SizeLarge.IsChecked = true; break; case CowboyCafe.Data.Size.Medium: dodgersScreen.SizeMedium.IsChecked = true; break; case CowboyCafe.Data.Size.Small: dodgersScreen.SizeSmall.IsChecked = true; break; } order.Add(newDodgers); orderControl?.SwapScreen(dodgersScreen); break; case "PanDeCampo": var newCampo = new PanDeCampo(); var campoScreen = new PanDeCampoCustomization(); campoScreen.DataContext = newCampo; // Check the appropriate size radio button on the camposScreen. switch (newCampo.Size) { case CowboyCafe.Data.Size.Large: campoScreen.SizeLarge.IsChecked = true; break; case CowboyCafe.Data.Size.Medium: campoScreen.SizeMedium.IsChecked = true; break; case CowboyCafe.Data.Size.Small: campoScreen.SizeSmall.IsChecked = true; break; } order.Add(newCampo); orderControl?.SwapScreen(campoScreen); break; case "BakedBeans": var newBeans = new BakedBeans(); var beanScreen = new BakedBeansCustomization(); beanScreen.DataContext = newBeans; // Check the appropriate size radio button on the bakedBeansScreen. switch (newBeans.Size) { case CowboyCafe.Data.Size.Large: beanScreen.SizeLarge.IsChecked = true; break; case CowboyCafe.Data.Size.Medium: beanScreen.SizeMedium.IsChecked = true; break; case CowboyCafe.Data.Size.Small: beanScreen.SizeSmall.IsChecked = true; break; } order.Add(newBeans); orderControl?.SwapScreen(beanScreen); break; case "JerkedSoda": var newSoda = new JerkedSoda(); var sodaScreen = new JerkedSodaCustomization(); sodaScreen.DataContext = newSoda; // Check the appropriate flavor radio button on the sodaScreen. switch (newSoda.Flavor) { case CowboyCafe.Data.SodaFlavor.CreamSoda: sodaScreen.FlavorCreamSoda.IsChecked = true; break; case CowboyCafe.Data.SodaFlavor.OrangeSoda: sodaScreen.FlavorCreamSoda.IsChecked = true; break; case CowboyCafe.Data.SodaFlavor.Sarsaparilla: sodaScreen.FlavorSarsaparilla.IsChecked = true; break; case CowboyCafe.Data.SodaFlavor.BirchBeer: sodaScreen.FlavorBirchBeer.IsChecked = true; break; case CowboyCafe.Data.SodaFlavor.RootBeer: sodaScreen.FlavorRootBeer.IsChecked = true; break; default: throw new NotImplementedException("Unknown Flavor"); } // Check the appropriate size radio button on the sodaScreen. switch (newSoda.Size) { case CowboyCafe.Data.Size.Large: sodaScreen.SizeLarge.IsChecked = true; break; case CowboyCafe.Data.Size.Medium: sodaScreen.SizeMedium.IsChecked = true; break; case CowboyCafe.Data.Size.Small: sodaScreen.SizeSmall.IsChecked = true; break; default: throw new NotImplementedException("Unknown Size"); } order.Add(newSoda); orderControl?.SwapScreen(sodaScreen); break; case "TexasTea": var newTea = new TexasTea(); var teaScreen = new TexasTeaCustomization(); teaScreen.DataContext = newTea; // Check the appropriate size radio button on the texasTeaScreen. switch (newTea.Size) { case CowboyCafe.Data.Size.Large: teaScreen.SizeLarge.IsChecked = true; break; case CowboyCafe.Data.Size.Medium: teaScreen.SizeMedium.IsChecked = true; break; case CowboyCafe.Data.Size.Small: teaScreen.SizeSmall.IsChecked = true; break; default: throw new NotImplementedException("Unknown Size"); } order.Add(newTea); orderControl?.SwapScreen(teaScreen); break; case "CowboyCoffee": var newCoffee = new CowboyCoffee(); var coffeeScreen = new CowboyCoffeeCustomization(); coffeeScreen.DataContext = newCoffee; // Check the appropriate size radio button on the coffeeScreen. switch (newCoffee.Size) { case CowboyCafe.Data.Size.Large: coffeeScreen.SizeLarge.IsChecked = true; break; case CowboyCafe.Data.Size.Medium: coffeeScreen.SizeMedium.IsChecked = true; break; case CowboyCafe.Data.Size.Small: coffeeScreen.SizeSmall.IsChecked = true; break; default: throw new NotImplementedException("Unknown Size"); } order.Add(newCoffee); orderControl?.SwapScreen(coffeeScreen); break; case "Water": var newWater = new Water(); var waterScreen = new WaterCustomization(); waterScreen.DataContext = newWater; // Check the appropriate size radio button on the waterScreen. switch (newWater.Size) { case CowboyCafe.Data.Size.Large: waterScreen.SizeLarge.IsChecked = true; break; case CowboyCafe.Data.Size.Medium: waterScreen.SizeMedium.IsChecked = true; break; case CowboyCafe.Data.Size.Small: waterScreen.SizeSmall.IsChecked = true; break; default: throw new NotImplementedException("Unknown Size"); } order.Add(newWater); orderControl?.SwapScreen(waterScreen); break; } } } }
/// <summary> /// Creates an object /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void OnItemAddButton_Clicked(object sender, RoutedEventArgs e) { if (DataContext is Order order) { if (sender is Button button) { var orderControl = this.FindAncestor <OrderControl>(); switch (button.Tag) { case "CowpokeChili": var entreeCowpokeChili = new CowpokeChili(); var screenCowpokeChili = new CustomizeCowpokeChili(); screenCowpokeChili.DataContext = entreeCowpokeChili; order.Add(entreeCowpokeChili); orderControl.SwapScreen(screenCowpokeChili); break; case "RustlersRibs": var entreeRustlersRibs = new RustlersRibs(); var screenRustlersRibs = new CustomizeRustlersRibs(); screenRustlersRibs.DataContext = entreeRustlersRibs; order.Add(entreeRustlersRibs); orderControl.SwapScreen(screenRustlersRibs); break; case "PecosPulledPork": var entreePecosPulledPork = new PecosPulledPork(); var screenPecosPulledPork = new CustomizePecosPulledPork(); screenPecosPulledPork.DataContext = entreePecosPulledPork; order.Add(entreePecosPulledPork); orderControl.SwapScreen(screenPecosPulledPork); break; case "TrailBurger": var entreeTrailBurger = new TrailBurger(); var screenTrailBurger = new CustomizeTrailBurger(); screenTrailBurger.DataContext = entreeTrailBurger; order.Add(entreeTrailBurger); orderControl.SwapScreen(screenTrailBurger); break; case "DakotaDoubleBurger": var entreeDakotaDoubleBurger = new DakotaDoubleBurger(); var screenDakotaDoubleBurger = new CustomizeDakotaDoubleBurger(); screenDakotaDoubleBurger.DataContext = entreeDakotaDoubleBurger; order.Add(entreeDakotaDoubleBurger); orderControl.SwapScreen(screenDakotaDoubleBurger); break; case "TexasTripleBurger": var entreeTexasTripleBurger = new TexasTripleBurger(); var screenTexasTripleBurger = new CustomizeTexasTripleBurger(); screenTexasTripleBurger.DataContext = entreeTexasTripleBurger; order.Add(entreeTexasTripleBurger); orderControl.SwapScreen(screenTexasTripleBurger); break; case "AngryChicken": var entreeAngryChicken = new AngryChicken(); var screenAngryChicken = new CustomizeAngryChicken(); screenAngryChicken.DataContext = entreeAngryChicken; order.Add(entreeAngryChicken); orderControl.SwapScreen(screenAngryChicken); break; case "ChiliCheeseFries": var sideChiliCheeseFries = new ChiliCheeseFries(); var screenChiliCheeseFries = new CustomizeChiliCheeseFries(); screenChiliCheeseFries.DataContext = sideChiliCheeseFries; order.Add(sideChiliCheeseFries); orderControl.SwapScreen(screenChiliCheeseFries); break; case "CornDodgers": var sideCornDodgers = new CornDodgers(); var screenCornDodgers = new CustomizeCornDodgers(); screenCornDodgers.DataContext = sideCornDodgers; order.Add(sideCornDodgers); orderControl.SwapScreen(screenCornDodgers); break; case "PanDeCampo": var sidePanDeCampo = new PanDeCampo(); var screenPanDeCampo = new CustomizePanDeCampo(); screenPanDeCampo.DataContext = sidePanDeCampo; order.Add(sidePanDeCampo); orderControl.SwapScreen(screenPanDeCampo); break; case "BakedBeans": var sideBakedBeans = new BakedBeans(); var screenBakedBeans = new CustomizeBakedBeans(); screenBakedBeans.DataContext = sideBakedBeans; order.Add(sideBakedBeans); orderControl.SwapScreen(screenBakedBeans); break; case "JerkedSoda": var drinkJerkedSoda = new JerkedSoda(); var screenJerkedSoda = new CustomizeJerkedSoda(); screenJerkedSoda.DataContext = drinkJerkedSoda; order.Add(drinkJerkedSoda); orderControl.SwapScreen(screenJerkedSoda); break; case "TexasTea": var drinkTexasTea = new TexasTea(); var screenTexasTea = new CustomizeTexasTea(); screenTexasTea.DataContext = drinkTexasTea; order.Add(drinkTexasTea); orderControl.SwapScreen(screenTexasTea); break; case "CowboyCoffee": var drinkCowboyCoffee = new CowboyCoffee(); var screenCowboyCoffee = new CustomizeCowboyCoffee(); screenCowboyCoffee.DataContext = drinkCowboyCoffee; order.Add(drinkCowboyCoffee); orderControl.SwapScreen(screenCowboyCoffee); break; case "Water": var drinkWater = new Water(); var screenWater = new CustomizeWater(); screenWater.DataContext = drinkWater; order.Add(drinkWater); orderControl.SwapScreen(screenWater); break; } } } }
/// <summary> /// Generalized event handler for button IOrderItem button clicks /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void OnIOrderItemButtonClicked(object sender, RoutedEventArgs e) { var orderControl = this.FindAncestor <OrderControl>(); if (DataContext is Order CurrentOrder) { if (sender is Button button) { switch (button.Tag) { case "CowpokeChili": { var item = new CowpokeChili(); var screen = new CustomizeEntree(item as IOrderItem); CurrentOrder.Add(item); orderControl.SwapScreen(screen); break; } case "AngryChicken": { var item = new AngryChicken(); var screen = new CustomizeEntree(item as IOrderItem); CurrentOrder.Add(item); orderControl.SwapScreen(screen); break; } case "DakotaDoubleBurger": { var item = new DakotaDoubleBurger(); var screen = new CustomizeEntree(item as IOrderItem); CurrentOrder.Add(item); orderControl.SwapScreen(screen); break; } case "PecosPulledPork": { var item = new PecosPulledPork(); var screen = new CustomizeEntree(item as IOrderItem); CurrentOrder.Add(item); orderControl.SwapScreen(screen); break; } case "RustlersRibs": { var item = new RustlersRibs(); CurrentOrder.Add(item); break; } case "TexasTripleBurger": { var item = new TexasTripleBurger(); var screen = new CustomizeEntree(item as IOrderItem); CurrentOrder.Add(item); orderControl.SwapScreen(screen); break; } case "TrailBurger": { var item = new TrailBurger(); var screen = new CustomizeEntree(item as IOrderItem); CurrentOrder.Add(item); orderControl.SwapScreen(screen); break; } case "BakedBeans": { var item = new BakedBeans(); var screen = new CustomizeSide(item); CurrentOrder.Add(item); orderControl.SwapScreen(screen); break; } case "ChiliCheeseFries": { var item = new ChiliCheeseFries(); var screen = new CustomizeSide(item); CurrentOrder.Add(item); orderControl.SwapScreen(screen); break; } case "CornDodgers": { var item = new CornDodgers(); var screen = new CustomizeSide(item); CurrentOrder.Add(item); orderControl.SwapScreen(screen); break; } case "PanDeCampo": { var item = new PanDeCampo(); var screen = new CustomizeSide(item); CurrentOrder.Add(item); orderControl.SwapScreen(screen); break; } case "CowboyCoffee": { var item = new CowboyCoffee(); var screen = new CustomizeDrink(item); CurrentOrder.Add(item); orderControl.SwapScreen(screen); break; } case "JerkedSoda": { var item = new JerkedSoda(); var screen = new CustomizeDrink(item); CurrentOrder.Add(item); orderControl.SwapScreen(screen); break; } case "TexasTea": { var item = new TexasTea(); var screen = new CustomizeDrink(item); CurrentOrder.Add(item); orderControl.SwapScreen(screen); break; } case "Water": { var item = new Water(); var screen = new CustomizeDrink(item); CurrentOrder.Add(item); orderControl.SwapScreen(screen); break; } } } } }