Esempio n. 1
0
        /// <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);
            }
        }
Esempio n. 3
0
        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);
     }
 }
Esempio n. 5
0
        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);
            }
        }
Esempio n. 6
0
        /// <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);
            }
        }
Esempio n. 7
0
        /// <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);
            }
        }
Esempio n. 11
0
        /// <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);
            }
        }
Esempio n. 13
0
 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();
        }
Esempio n. 15
0
        /// <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();
        }
Esempio n. 16
0
        public void ChangingIceInvokesPropertyChangedForIceAndSpecialInstructions()
        {
            var JS = new JerkedSoda();

            Assert.PropertyChanged(JS, "Ice", () =>
            {
                JS.Ice = false;
            });

            Assert.PropertyChanged(JS, "SpecialInstructions", () =>
            {
                JS.Ice = true;
            });
        }
Esempio n. 17
0
        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;
            });
        }
Esempio n. 18
0
        /// <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;
            });
        }
Esempio n. 20
0
        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);
                }
            }
        }
Esempio n. 23
0
        /// <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);
            }
        }
Esempio n. 24
0
        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");
            }
        }
Esempio n. 25
0
        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);
            }
        }
Esempio n. 26
0
        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;
            });
        }
Esempio n. 28
0
        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
            });
        }
Esempio n. 29
0
        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;
            });
        }
Esempio n. 30
0
        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
            });
        }