/// <summary> /// Click event handler for Jerked Soda Button /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void OnAddJerkedSodaButtonClicked(object sender, RoutedEventArgs e) { var orderControl = this.FindAncestor <OrderControl>(); if (DataContext is Order data) { var item = new JerkedSoda(); var screen = new CustomizeJerkedSoda(); AddItemAndOpenCustomization(item, screen); } }
/// <summary> /// Adds item to the order /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void OnAddJerkedSodaButtonClicked(object sender, RoutedEventArgs e) { var orderControl = this.FindAncestor <OrderControl>(); if (DataContext is Order data) // checks if you can cast it and if assigns it to data { var entree = new JerkedSoda(); var screen = new CustomizeJerkedSoda(); AddItemAndOpenCustomizationScreen(entree, screen); } }
public void ShouldBeAbleToSetSize() { var soda = new JerkedSoda(); soda.Size = Size.Large; Assert.Equal(Size.Large, soda.Size); soda.Size = Size.Medium; Assert.Equal(Size.Medium, soda.Size); soda.Size = Size.Small; Assert.Equal(Size.Small, soda.Size); }
//DRINKS /// <summary> /// adds jerked soda to ordersummary control and order column on mainwindow /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void OnAddJerkedSodaButtonClicked(object sender, RoutedEventArgs e) { if (DataContext is Order data) // checks if you can cast it and if assigns it to data { var item = new JerkedSoda(); var screen = new CustomizeJerkedSoda(); screen.DataContext = item; data.Add(item); AddItemandOpenCustomizationScreen(item, screen); } }
private void JerkedSodeButton_Click(object sender, RoutedEventArgs e) { JerkedSoda js = new JerkedSoda(); if (DataContext is Order order) { order.Add(js); js.PropertyChanged += order.OnInstructionAdded; MainWindow.Child = new CustomizationControl(js); } }
/// <summary> /// Adds Jerked Soda to order list when corresponding button is pushed /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void OnJerkedSodaAdded(object sender, RoutedEventArgs e) { var orderControl = this.FindAncestor <OrderControl>(); if (DataContext is Order data) { var drink = new JerkedSoda(); var screen = new CustomizeJerkedSoda(); AddItemAndOpenCustomizationScreen(drink, screen); } }
/// <summary> /// This method adds drinks to the list by converting the /// sender object to a button and filtering on the name of the button /// that was pressed /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void addDrinkToList(object sender, RoutedEventArgs e) { //Ensure the DataContext is an Order and not NULL if (DataContext is Order data) { //Ensure the sender is on of buttons if (sender is Button) { IOrderItem item; FrameworkElement screen; var orderControl = this.FindAncestor <OrderControl>(); //Filter which button was pressed based on name switch (((Button)sender).Name) { //Cowboy Coffee case "CowboyCoffeeButton": item = new CowboyCoffee(); screen = new CowboyCoffeeCustomization(); break; //Jerked Soda case "JerkedSodaButton": item = new JerkedSoda(); screen = new JerkedSodaCustomization(); break; //Texas Tea case "TexasTeaButton": item = new TexasTea(); screen = new TexasTeaCustomization(); break; //Water case "WaterButton": item = new Water(); screen = new WaterCustomization(); break; //This should never be reached unless we add more sides and forget to add the case statements ;P default: throw new NotImplementedException("Unknown drink button clicked"); } //Set the datacontext of the screen to the item and set the items screen property equal to the screen screen.DataContext = item; item.Screen = screen; //Add the item to the order and swap the screen data.Add(item); orderControl?.SwapScreen(screen); } } }
/// <summary> /// Event handler for adding the jerked soda drink to the order /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void OnAddJerkedSodaButtonClicked(object sender, RoutedEventArgs e) { if (DataContext is Order data) { var newJerkedSoda = new JerkedSoda(); var screen = new CustomizeJerkedSoda(); screen.DataContext = newJerkedSoda; data.Add(newJerkedSoda); orderControl = this.FindAncestor <OrderControl>(); orderControl.SwapScreen(screen); } }
/// <summary> /// adds jerked soda to the list /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AddJerkedSodaButton_Click(object sender, RoutedEventArgs e) { var ordercontrol = this.FindAncestor <OrderControl>(); JerkedSoda tempSoda = new JerkedSoda(); if (DataContext is Order data) { data.Add(tempSoda); var screen = new JerkedSodaCustomization(); screen.DataContext = tempSoda; ordercontrol.SwapScreen(screen); } }
/// <summary> /// Adds Jerked Soda to the list /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AddJerkedSodaButton_Click(object sender, RoutedEventArgs e) { var orderControl = this.FindAncestor <OrderControl>(); var screen = new JerkedSodaCustomization(); var item = new JerkedSoda(); screen.DataContext = item; if (DataContext is Order order) { order.Add(item); orderControl?.SwapScreen(screen); } }
/// <summary> /// The event handler for the jerked soda /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void AddToOrderJerkedSoda(object sender, RoutedEventArgs e) { var orderControl = this.FindAncestor <OrderControl>(); if (DataContext is Order data) { var entree = new JerkedSoda(); var screen = new CustomizeJerkedSoda(); screen.DataContext = entree; data.Add(new JerkedSoda()); orderControl.SwapScreen(new CustomizeJerkedSoda()); } }
/// <summary> /// adds the jerked soda to the order /// </summary> /// <param name="sender">the jerked soda</param> /// <param name="e">information associated with the button</param> void OnAddJerkedSodaButtonClicked(object sender, RoutedEventArgs e) { var orderControl = this.FindAncestor <OrderControl>(); if (DataContext is Order order) { var drink = new JerkedSoda(); var screen = new CustomizedJerkSoda(DataContext); screen.DataContext = drink; order.Add(drink); orderControl?.SwapScreen(screen); } }
private void AddJerkedSoda_Click(object sender, RoutedEventArgs e) { orderControl = this.FindAncestor <OrderControl>(); if (DataContext is Order order) { var drink = new JerkedSoda(); var screen = new CustomizeJerkedSoda(DataContext); screen.DataContext = drink; drink.Screen = screen; order.Add(drink); orderControl.SwapScreen(screen); } }
void Button_Click(object sender, RoutedEventArgs e) { JerkedSoda drink = (JerkedSoda)DataContext; switch (((Button)sender).Name) { case "Small_Button": drink.Size = CowboyCafe.Data.Size.Small; break; case "Medium_Button": drink.Size = CowboyCafe.Data.Size.Medium; break; case "Large_Button": drink.Size = CowboyCafe.Data.Size.Large; break; case "BirchBeer_Button": drink.Flavor = SodaFlavor.BirchBeer; break; case "RootBeer_Button": drink.Flavor = SodaFlavor.RootBeer; break; case "CreamSoda_Button": drink.Flavor = SodaFlavor.CreamSoda; break; case "OrangeSoda_Button": drink.Flavor = SodaFlavor.OrangeSoda; break; case "Sarsparilla_Button": drink.Flavor = SodaFlavor.Sarsparilla; break; case "Ice_Button": drink.Ice = true; break; case "NoIce_Button": drink.Ice = false; break; default: throw new NotImplementedException(); } order.InvokePropertyChanged(); }
/// <summary> /// Event Handler for a click event on the Radio Buttons /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void IsClicked(object sender, RoutedEventArgs e) { JerkedSoda drink = (JerkedSoda)DataContext; switch (((RadioButton)sender).Name) { case "CreamSodaButton": drink.Flavor = SodaFlavor.CreamSoda; ButtonFlavorSwitch(drink.Flavor); break; case "OrangeSodaButton": drink.Flavor = SodaFlavor.OrangeSoda; ButtonFlavorSwitch(drink.Flavor); break; case "SarsparillaButton": drink.Flavor = SodaFlavor.Sarsparilla; ButtonFlavorSwitch(drink.Flavor); break; case "BirchBeerButton": drink.Flavor = SodaFlavor.BirchBeer; ButtonFlavorSwitch(drink.Flavor); break; case "RootBeerButton": drink.Flavor = SodaFlavor.RootBeer; ButtonFlavorSwitch(drink.Flavor); break; case "ButtonSmall": drink.Size = Size.Small; ButtonSizeSwitch(drink.Size); break; case "ButtonMedium": drink.Size = Size.Medium; ButtonSizeSwitch(drink.Size); break; case "ButtonLarge": drink.Size = Size.Large; ButtonSizeSwitch(drink.Size); break; default: break; } order.PropertiesUpdate(); }
public void ChangingIceInvokesPropertyChangedForIceAndSpecialInstructions() { var JS = new JerkedSoda(); Assert.PropertyChanged(JS, "Ice", () => { JS.Ice = false; }); Assert.PropertyChanged(JS, "SpecialInstructions", () => { JS.Ice = true; }); }
public void ChangingIcePropertyShouldInvokePropertyChangedForIceAndSpecialInstructions() { var js = new JerkedSoda(); Assert.PropertyChanged(js, "Ice", () => { js.Ice = false; }); var js2 = new JerkedSoda(); Assert.PropertyChanged(js2, "SpecialInstructions", () => { js2.Ice = false; }); }
/// <summary> /// event handler for the jerked soda button /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AddJerkedSodaButton_Click(object sender, RoutedEventArgs e) { if (DataContext is Order order) { var item = new JerkedSoda(); order.Add(item); var ordercontrol = this.FindAncestor <OrderControl>(); ordercontrol.SwapScreen(new JerkedSodaCustomizer() { DataContext = item }); } }
public void ChangingSizePropertyShouldInvokePropertyChangedForSizeCaloriesAndPrice() { var jerkedSoda = new JerkedSoda(); Assert.PropertyChanged(jerkedSoda, "Size", () => { jerkedSoda.Size = Size.Small; }); Assert.PropertyChanged(jerkedSoda, "Calories", () => { jerkedSoda.Size = Size.Small; }); Assert.PropertyChanged(jerkedSoda, "Price", () => { jerkedSoda.Size = Size.Small; }); }
public void ChangingFlavorInvokesPropertyChangedForFlavorAndSpecialInstructions() { var JS = new JerkedSoda(); Assert.PropertyChanged(JS, "Flavor", () => { JS.Flavor = SodaFlavor.RootBeer; }); Assert.PropertyChanged(JS, "SpecialInstructions", () => { JS.Flavor = SodaFlavor.OrangeSoda; }); }
void Button_Clicked(object sender, RoutedEventArgs e) { JerkedSoda soda = (JerkedSoda)DataContext; if (((Button)sender).Name == "Small_Button") { soda.Size = CowboyCafe.Data.Size.Small; } else if (((Button)sender).Name == "Medium_Button") { soda.Size = CowboyCafe.Data.Size.Medium; } else if (((Button)sender).Name == "Large_Button") { soda.Size = CowboyCafe.Data.Size.Large; } else if (((Button)sender).Name == "BirchBeer_Button") { soda.Flavor = SodaFlavor.BirchBeer; } else if (((Button)sender).Name == "Rootbeer_Button") { soda.Flavor = SodaFlavor.RootBeer; } else if (((Button)sender).Name == "CreamSoda") { soda.Flavor = SodaFlavor.CreamSoda; } else if (((Button)sender).Name == "OrangeSoda_Button") { soda.Flavor = SodaFlavor.OrangeSoda; } else if (((Button)sender).Name == "Sarsparilla_Button") { soda.Flavor = SodaFlavor.Sarsparilla; } else if (((Button)sender).Name == "Ice_Button") { soda.Ice = true; } else if (((Button)sender).Name == "NoIce_Button") { soda.Ice = false; } order.InvokePropertyChanged(); }
/// <summary> /// This method adds drinks to the list by converting the /// sender object to a button and filtering on the name of the button /// that was pressed /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void addDrinkToList(object sender, RoutedEventArgs e) { //Ensure the DataContext is an Order and not NULL if (DataContext is Order data) { if (sender is Button) { IOrderItem item; FrameworkElement screen = null; var orderControl = this.FindAncestor <OrderControl>(); //Cast sender to button Button b = (Button)sender; //Filter which button was pressed based on name switch (b.Name) { case "CowboyCoffeeButton": item = new CowboyCoffee(); screen = new CowboyCoffeeCustomization(DataContext); break; case "JerkedSodaButton": item = new JerkedSoda(); screen = new JerkedSodaCustomization(DataContext); break; case "TexasTeaButton": item = new TexasTea(); screen = new TexasTeaCustomization(DataContext); break; case "WaterButton": item = new Water(); screen = new WaterCustomization(DataContext); break; default: throw new NotImplementedException("Unknown drink button clicked"); } if (screen != null) { screen.DataContext = item; } data.Add(item); orderControl?.SwapScreen(screen); } } }
/// <summary> /// Creates a click event for the Jerked Soda button /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnAddJerkedSodaClicked(object sender, RoutedEventArgs e) { var orderControl = this.FindAncestor <OrderControl>(); if (sender is Button) { var item = new JerkedSoda(); var screen = new DrinksCustomizeScreen(item, orderControl); screen.AddDecaf.IsEnabled = false; screen.AddRoomForCream.IsEnabled = false; screen.AddUnsweet.IsEnabled = false; screen.AddLemon.IsEnabled = false; AddItemAndOpenCustomScreen(item, screen); } }
private void FlavorRadioButton_Click(object sender, RoutedEventArgs e) { SodaFlavor s; switch (((RadioButton)sender).Name) { /* Cream Soda */ case "FlavorRadioButtonCS": s = SodaFlavor.CreamSoda; break; /* Orange Soda */ case "FlavorRadioButtonOS": s = SodaFlavor.OrangeSoda; break; /* Sarsparilla */ case "FlavorRadioButtonS": s = SodaFlavor.Sarsparilla; break; /* Birch Beer */ case "FlavorRadioButtonBB": s = SodaFlavor.BirchBeer; break; /* Root beer */ case "FlavorRadioButtonRB": s = SodaFlavor.RootBeer; break; default: throw new NotImplementedException("Should never be reached"); } /* Cast the datacontext to what it is and then * set the size of that object equal to the value button that was pressed */ if (DataContext is JerkedSoda) { JerkedSoda j = (JerkedSoda)DataContext; j.Flavor = s; } else { throw new NotImplementedException("Only Jerked soda should be the datacontext"); } }
public void ShouldHaveCorrectSpecialInstructionsForIce(bool ice) { var soda = new JerkedSoda() { Ice = ice }; if (!ice) { Assert.Collection(soda.SpecialInstructions, item => Assert.Equal("Hold Ice", item)); } if (ice) { Assert.Empty(soda.SpecialInstructions); } }
public void ChangingSizeNotifiesNameProperty() { var js = new JerkedSoda(); Assert.PropertyChanged(js, "Name", () => { js.Size = Size.Medium; }); Assert.PropertyChanged(js, "Name", () => { js.Size = Size.Large; }); Assert.PropertyChanged(js, "Name", () => { js.Size = Size.Small; }); }
public void ChangingSizeShouldInvokePropertyChangedForSizeCaloriesAndPrice() { var soda = new JerkedSoda(); Assert.PropertyChanged(soda, "Size", () => { soda.Size = Size.Large; }); Assert.PropertyChanged(soda, "Calories", () => { soda.Size = Size.Small; }); Assert.PropertyChanged(soda, "Price", () => { soda.Size = Size.Medium; }); }
public void CanChangeSize() { var soda = new JerkedSoda(); Assert.PropertyChanged(soda, "Size", () => { soda.Size = Size.Small; //Checks if size is able to switch to small }); Assert.PropertyChanged(soda, "Size", () => { soda.Size = Size.Medium; //Checks if size is able to switch to medium }); Assert.PropertyChanged(soda, "Size", () => { soda.Size = Size.Large; //Checks if size is able to switch to large }); }
public void ChangingSizeInvokesPropertyChangedOnCalories() { var soda = new JerkedSoda(); Assert.PropertyChanged(soda, "Calories", () => { soda.Size = Size.Medium; }); Assert.PropertyChanged(soda, "Calories", () => { soda.Size = Size.Large; }); Assert.PropertyChanged(soda, "Calories", () => { soda.Size = Size.Small; }); }
public void ChangingSizeChangesPrice() { var soda = new JerkedSoda(); Assert.PropertyChanged(soda, "Price", () => { soda.Size = Size.Small; //Checks if price is able to switch when size changes to small }); Assert.PropertyChanged(soda, "Price", () => { soda.Size = Size.Medium; //Checks if price is able to switch when size changes to medium }); Assert.PropertyChanged(soda, "Price", () => { soda.Size = Size.Large; //Checks if price is able to switch when size changes to large }); }