Ejemplo n.º 1
0
        public void AllContainsRibs()
        {
            IOrderItem ribs = new RustlersRibs();
            IEnumerable <IOrderItem> menuList = Menu.All();

            Assert.Contains(ribs, menuList);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        public void EntreesContainsRibs()
        {
            IOrderItem ribs = new RustlersRibs();
            IEnumerable <IOrderItem> entreeList = Menu.Entrees();

            Assert.Contains(ribs, entreeList);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 6
0
        /// <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);
            }
        }
Ejemplo n.º 7
0
        private void RustlersRibsButton_Click(object sender, RoutedEventArgs e)
        {
            RustlersRibs rr = new RustlersRibs();

            if (DataContext is Order order)
            {
                order.Add(new RustlersRibs());
            }
        }
Ejemplo n.º 8
0
        /// <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);
            }
        }
Ejemplo n.º 9
0
        /// <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);
     }
 }
Ejemplo n.º 12
0
        /// <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);
            }
        }
Ejemplo n.º 14
0
        /// <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);
            }
        }
Ejemplo n.º 16
0
        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;
                    }
                }
            }
        }
Ejemplo n.º 18
0
        public void RustlersRibsShouldImplentInotifyPropertyChanged()
        {
            var ribs = new RustlersRibs();

            Assert.IsAssignableFrom <INotifyPropertyChanged>(ribs);
        }
Ejemplo n.º 19
0
        public void DefaultSpecialInstructionsShouldBeEmpty()
        {
            var ribs = new RustlersRibs();

            Assert.Empty(ribs.SpecialInstructions);
        }
Ejemplo n.º 20
0
        public void DefaultCaloriesShouldBeCorrect()
        {
            var ribs = new RustlersRibs();

            Assert.Equal <uint>(894, ribs.Calories);
        }
Ejemplo n.º 21
0
        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;
                    }
                }
            }
        }
Ejemplo n.º 24
0
        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;
                    }
                }
            }
        }
Ejemplo n.º 26
0
        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;
                    }
                }
            }
        }
Ejemplo n.º 28
0
        /// <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;
                    }
                }
            }
        }
Ejemplo n.º 30
0
        /// <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;
                    }
                    }
                }
            }
        }