/// <summary>
        /// Adds Chili Cheese Fries to the list
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void AddChiliCheeseFriesButton_Click(object sender, RoutedEventArgs e)
        {
            var orderControl = this.FindAncestor <OrderControl>();
            var screen       = new ChiliCheeseFriesCustomization();
            var item         = new ChiliCheeseFries();

            screen.DataContext = item;
            if (DataContext is Order order)
            {
                order.Add(item);
                orderControl?.SwapScreen(screen);
            }
        }
        /// <summary>
        /// Creates new Chili Cheese Fries object and adds it to the Order List Checked List Box.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void AddChiliCheeseFriesButton(object sender, EventArgs e)
        {
            var orderControl = this.FindAncestor <OrderControl>();

            if (DataContext is Order order)
            {
                if (sender is Button button)
                {
                    switch (button.Tag)
                    {
                    case "ChiliCheeseFries":
                        var item   = new ChiliCheeseFries();
                        var screen = new ChiliCheeseFriesCustomization();
                        screen.DataContext = item;
                        order.Add(item);
                        orderControl?.SwapScreen(screen);
                        break;
                    }
                }
            }
        }
Exemplo n.º 3
0
        private void ItemsList_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var orderControl = this.FindAncestor <OrderControl>();

            if (orderControl == null)
            {
                return;
            }
            foreach (object o in e.AddedItems)
            {
                if (o is CowpokeChili)
                {
                    var ccc = new CowpokeChiliCustomization();
                    ccc.DataContext = o;
                    orderControl.SwapScreen(ccc);
                }
                else if (o is AngryChicken)
                {
                    var ccc = new AngryChickenCustomization();
                    ccc.DataContext = o;
                    orderControl.SwapScreen(ccc);
                }
                else if (o is ChiliCheeseFries)
                {
                    var ccc = new ChiliCheeseFriesCustomization();
                    ccc.DataContext = o;
                    orderControl.SwapScreen(ccc);
                }
                else if (o is CornDodgers)
                {
                    var ccc = new CornDodgersCustomization();
                    ccc.DataContext = o;
                    orderControl.SwapScreen(ccc);
                }
                else if (o is CowboyCoffee)
                {
                    var ccc = new CowboyCoffeeCustomization();
                    ccc.DataContext = o;
                    orderControl.SwapScreen(ccc);
                }
                else if (o is DakotaDoubleBurger)
                {
                    var ccc = new DakotaDoubleCustomization();
                    ccc.DataContext = o;
                    orderControl.SwapScreen(ccc);
                }
                else if (o is JerkedSoda)
                {
                    var ccc = new JerkedSodaCustomization();
                    ccc.DataContext = o;
                    orderControl.SwapScreen(ccc);
                }
                else if (o is PanDeCampo)
                {
                    var ccc = new PanDeCampoCustomization();
                    ccc.DataContext = o;
                    orderControl.SwapScreen(ccc);
                }
                else if (o is PecosPulledPork)
                {
                    var ccc = new PecosPulledPorkCustomization();
                    ccc.DataContext = o;
                    orderControl.SwapScreen(ccc);
                }
                else if (o is RustlersRibs)
                {
                    var ccc = new RustlersRibsCustomization();
                    ccc.DataContext = o;
                    orderControl.SwapScreen(ccc);
                }
                else if (o is TexasTea)
                {
                    var ccc = new TexasTeaCustomization();
                    ccc.DataContext = o;
                    orderControl.SwapScreen(ccc);
                }
                else if (o is TexasTripleBurger)
                {
                    var ccc = new TexasTripleCustomization();
                    ccc.DataContext = o;
                    orderControl.SwapScreen(ccc);
                }
                else if (o is TrailBurger)
                {
                    var ccc = new TrailBurgerCustomization();
                    ccc.DataContext = o;
                    orderControl.SwapScreen(ccc);
                }
                else if (o is Water)
                {
                    var ccc = new WaterCustomization();
                    ccc.DataContext = o;
                    orderControl.SwapScreen(ccc);
                }
                else if (o is BakedBeans)
                {
                    var ccc = new BakedBeansCustomization();
                    ccc.DataContext = o;
                    orderControl.SwapScreen(ccc);
                }
            }
        }
        private void ChangedSelect(object sender, SelectionChangedEventArgs args)
        {
            IOrderItem item         = ((sender as ListBox).SelectedItem as IOrderItem);
            var        orderControl = this.FindAncestor <OrderControl>();

            if (item is AngryChicken)
            {
                var screen = new AngryChickenCustomization();
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is BakedBeans)
            {
                var screen = new BakedBeansCustomization(DataContext);
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is ChiliCheeseFries)
            {
                var screen = new ChiliCheeseFriesCustomization((Order)DataContext);
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is CornDodgers)
            {
                var screen = new CornDodgersCustomization((Order)DataContext);
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is CowboyCoffee)
            {
                var screen = new CowboyCoffeeCustomization((Order)DataContext);
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is CowpokeChili)
            {
                var screen = new CowpokeChiliCustomization((Order)DataContext);
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is DakotaDoubleBurger)
            {
                var screen = new DakotaDoubleCustomization();
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is JerkedSoda)
            {
                var screen = new JerkedSodaCustomization((Order)DataContext);
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is PanDeCampo)
            {
                var screen = new PanDeCampoCustomization((Order)DataContext);
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is PecosPulledPork)
            {
                var screen = new PecosPulledPorkCustomization();
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is RustlersRibs)
            {
                var screen = new RustlersRibsCustomization();
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is TexasTea)
            {
                var screen = new TexasTeaCustomization((Order)DataContext);
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is TexasTripleBurger)
            {
                var screen = new TexasTripleBurgerCustomization();
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is TrailBurger)
            {
                var screen = new TrailBurgerCustomization();
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is Water)
            {
                var screen = new WaterCustomization((Order)DataContext);
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// takes in an item and finds the corresponding screen for it and then applies the context to it
        /// </summary>
        /// <param name="item">menu item</param>
        /// <returns>returns the screen with the context</returns>
        private FrameworkElement SwapScreenHelper(object item)
        {
            FrameworkElement screen = new MenuItemSelectionControl();

            if (item is AngryChicken)
            {
                screen             = new AngryChickenCustomization();
                screen.DataContext = item;
            }
            else if (item is CowpokeChili)
            {
                screen             = new CowpokeChiliCustomization();
                screen.DataContext = item;
            }
            else if (item is RustlersRibs)
            {
                screen             = new RustlersRibsCustomization();
                screen.DataContext = item;
            }
            else if (item is PecosPulledPork)
            {
                screen             = new PecosPulledPorkCustomization();
                screen.DataContext = item;
            }
            else if (item is TrailBurger)
            {
                screen             = new TrailBurgerCustomization();
                screen.DataContext = item;
            }
            else if (item is DakotaDoubleBurger)
            {
                screen             = new DakotaDoubleBurgerCustomization();
                screen.DataContext = item;
            }
            else if (item is TexasTripleBurger)
            {
                screen             = new TexasTripleBurgerCustomization();
                screen.DataContext = item;
            }
            else if (item is PanDeCampo)
            {
                screen             = new PanDeCampoCustomization();
                screen.DataContext = item;
            }
            else if (item is CornDodgers)
            {
                screen             = new CornDodgersCustomization();
                screen.DataContext = item;
            }
            else if (item is ChiliCheeseFries)
            {
                screen             = new ChiliCheeseFriesCustomization();
                screen.DataContext = item;
            }
            else if (item is BakedBeans)
            {
                screen             = new BakedBeansCustomization();
                screen.DataContext = item;
            }
            else if (item is JerkedSoda)
            {
                screen             = new JerkedSodaCustomization();
                screen.DataContext = item;
            }
            else if (item is CowboyCoffee)
            {
                screen             = new CowboyCoffeeCustomization();
                screen.DataContext = item;
            }
            else if (item is TexasTea)
            {
                screen             = new TexasTeaCustomization();
                screen.DataContext = item;
            }
            else if (item is Water)
            {
                screen             = new WaterCustomization();
                screen.DataContext = item;
            }
            return(screen);
        }
        /// <summary>
        /// Opens the selection screen when a panel is selected in the list box
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="arg"></param>
        private void MainBox_SelectionChanged(object sender, RoutedEventArgs arg)
        {
            if (DataContext is Order order)
            {
                if (sender is ListBox box)
                {
                    var orderControl = this.FindAncestor <OrderControl>();
                    if (box.SelectedItem is IOrderItem item)
                    {
                        FrameworkElement screen = null;

                        //Entrees

                        if (item is AngryChicken)
                        {
                            screen = new AngryChickenCustomization();
                        }
                        if (item is CowpokeChili)
                        {
                            screen = new CowpokeChiliCustomization();
                        }
                        if (item is PecosPulledPork)
                        {
                            screen = new PecosPulledPorkCustomization();
                        }
                        if (item is RustlersRibs)
                        {
                            screen = new RustlersRibsCustomization();
                        }
                        if (item is TrailBurger)
                        {
                            screen = new TrailBurgerCustomization();
                        }
                        if (item is TexasTripleBurger)
                        {
                            screen = new TexasTripleBurgerCustomization();
                        }
                        if (item is DakotaDoubleBurger)
                        {
                            screen = new DakotaDoubleBurgerCustomization();
                        }

                        //Sides

                        if (item is PanDeCampo)
                        {
                            screen = new PanDeCampoCustomization();
                        }
                        if (item is CornDodgers)
                        {
                            screen = new CornDodgersCustomization();
                        }
                        if (item is BakedBeans)
                        {
                            screen = new BakedBeansCustomization();
                        }
                        if (item is ChiliCheeseFries)
                        {
                            screen = new ChiliCheeseFriesCustomization();
                        }

                        //Drinks

                        if (item is JerkedSoda)
                        {
                            screen = new JerkedSodaCustomization();
                        }
                        if (item is CowboyCoffee)
                        {
                            screen = new CowboyCoffeeCustomization();
                        }
                        if (item is Water)
                        {
                            screen = new WaterCustomization();
                        }
                        if (item is TexasTea)
                        {
                            screen = new TexasTeaCustomization();
                        }

                        screen.DataContext = item;
                        orderControl?.SwapScreen(screen);
                    }
                }
            }
        }
Exemplo n.º 7
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>
        /// Allows customization of selected item from summary control
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        public void OnItemSelection(object sender, SelectionChangedEventArgs args)
        {
            FrameworkElement screen;
            OrderControl     orderControl = null;

            // Need ancestor to load customization screen
            orderControl = this.FindAncestor <OrderControl>();

            if (orderControl == null)
            {
                throw new Exception("An ancestor of OrderControl expected");
            }

            // Entrees ---------------------------------------------------------------------
            if (orderList.SelectedItem is IOrderItem item)
            {
                if (item is AngryChicken angryChicken)
                {
                    screen = new AngryChickenCustomization(angryChicken);
                    if (screen != null)
                    {
                        // Add item to customization screen
                        screen.DataContext = angryChicken;
                        orderControl.SwapScreen(screen);
                    }
                }
                else if (orderList.SelectedItem is CowpokeChili cowpokeChili)
                {
                    screen = new CowpokeChiliCustomization(cowpokeChili);
                    if (screen != null)
                    {
                        // Add item to customization screen
                        screen.DataContext = cowpokeChili;
                        orderControl.SwapScreen(screen);
                    }
                }
                else if (orderList.SelectedItem is DakotaDoubleBurger dakotaDouble)
                {
                    screen = new DakotaDoubleBurgerCustomization(dakotaDouble);
                    if (screen != null)
                    {
                        // Add item to customization screen
                        screen.DataContext = dakotaDouble;
                        orderControl.SwapScreen(screen);
                    }
                }
                else if (orderList.SelectedItem is PecosPulledPork pecosPulledPork)
                {
                    screen = new PecosPulledPorkCustomization(pecosPulledPork);
                    if (screen != null)
                    {
                        // Add item to customization screen
                        screen.DataContext = pecosPulledPork;
                        orderControl.SwapScreen(screen);
                    }
                }
                else if (orderList.SelectedItem is TexasTripleBurger texasTriple)
                {
                    screen = new TexasTripleBurgerCustomization(texasTriple);
                    if (screen != null)
                    {
                        // Add item to customization screen
                        screen.DataContext = texasTriple;
                        orderControl.SwapScreen(screen);
                    }
                }
                else if (orderList.SelectedItem is TrailBurger trailBurger)
                {
                    screen = new TrailBurgerCustomization(trailBurger);
                    if (screen != null)
                    {
                        // Add item to customization screen
                        screen.DataContext = trailBurger;
                        orderControl.SwapScreen(screen);
                    }
                }

                // Sides ---------------------------------------------------------------------
                else if (orderList.SelectedItem is BakedBeans bakedBeans)
                {
                    screen = new BakedBeansCustomization(bakedBeans);
                    if (screen != null)
                    {
                        // Add item to customization screen
                        screen.DataContext = bakedBeans;
                        orderControl.SwapScreen(screen);
                    }
                }
                else if (orderList.SelectedItem is ChiliCheeseFries chiliCheeseFries)
                {
                    screen = new ChiliCheeseFriesCustomization(chiliCheeseFries);
                    if (screen != null)
                    {
                        // Add item to customization screen
                        screen.DataContext = chiliCheeseFries;
                        orderControl.SwapScreen(screen);
                    }
                }
                else if (orderList.SelectedItem is CornDodgers cornDodgers)
                {
                    screen = new CornDodgersCustomization(cornDodgers);
                    if (screen != null)
                    {
                        // Add item to customization screen
                        screen.DataContext = cornDodgers;
                        orderControl.SwapScreen(screen);
                    }
                }
                else if (orderList.SelectedItem is PanDeCampo panDeCampo)
                {
                    screen = new PandeCampoCustomization(panDeCampo);
                    if (screen != null)
                    {
                        // Add item to customization screen
                        screen.DataContext = panDeCampo;
                        orderControl.SwapScreen(screen);
                    }
                }

                // Drinks ---------------------------------------------------------------------
                else if (orderList.SelectedItem is CowboyCoffee cowboyCoffee)
                {
                    screen = new CowboyCoffeeCustomization(cowboyCoffee);
                    if (screen != null)
                    {
                        // Add item to customization screen
                        screen.DataContext = cowboyCoffee;
                        orderControl.SwapScreen(screen);
                    }
                }
                else if (orderList.SelectedItem is JerkedSoda jerkedSoda)
                {
                    screen = new JerkedSodaCustomization(jerkedSoda);
                    if (screen != null)
                    {
                        // Add item to customization screen
                        screen.DataContext = jerkedSoda;
                        orderControl.SwapScreen(screen);
                    }
                }
                else if (orderList.SelectedItem is TexasTea texasTea)
                {
                    screen = new TexasTeaCustomization(texasTea);
                    if (screen != null)
                    {
                        // Add item to customization screen
                        screen.DataContext = texasTea;
                        orderControl.SwapScreen(screen);
                    }
                }
                else if (orderList.SelectedItem is Water water)
                {
                    screen = new WaterCustomization(water);
                    if (screen != null)
                    {
                        // Add item to customization screen
                        screen.DataContext = water;
                        orderControl.SwapScreen(screen);
                    }
                }

                // All else ---------------------------------------------------------------------
                else
                {
                    // Add item to customization screen
                    orderControl?.SwapScreen(new MenuItemSelectionControl());
                }
                orderList.SelectedItem = null;
            }
        }
Exemplo n.º 9
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;
                    }
                }
            }
        }
        private void ChangeItem(object sender, SelectionChangedEventArgs args)
        {
            //Entrees

            ///Cowpoke Chili
            if (OrderList.SelectedItem != null && OrderList.SelectedItem.ToString().Contains("Cowpoke Chili"))
            {
                CowpokeChili firstItem    = args.AddedItems[0] as CowpokeChili;
                var          orderControl = this.FindAncestor <OrderControl>();
                if (DataContext is Order order1)
                {
                    var screen = new CowpokeChiliCustomization();
                    screen.DataContext = firstItem;
                    orderControl?.SwapScreen(screen);
                }
            }

            ///Rustlers Ribs
            if (OrderList.SelectedItem != null && OrderList.SelectedItem.ToString().Contains("Ribs"))
            {
                RustlersRibs firstItem    = args.AddedItems[0] as RustlersRibs;
                var          orderControl = this.FindAncestor <OrderControl>();
                if (DataContext is Order order1)
                {
                    var screen = new RustlersRibsCustomization();
                    screen.DataContext = firstItem;
                    orderControl?.SwapScreen(screen);
                }
            }

            ///Pecos Pulled Pork
            if (OrderList.SelectedItem != null && OrderList.SelectedItem.ToString().Contains("Pecos"))
            {
                PecosPulledPork firstItem    = args.AddedItems[0] as PecosPulledPork;
                var             orderControl = this.FindAncestor <OrderControl>();
                if (DataContext is Order order1)
                {
                    var screen = new PecosPulledPorkCustomization();
                    screen.DataContext = firstItem;
                    orderControl?.SwapScreen(screen);
                }
            }

            ///Trailburger
            if (OrderList.SelectedItem != null && OrderList.SelectedItem.ToString().Contains("Trail Burger"))
            {
                TrailBurger firstItem    = args.AddedItems[0] as TrailBurger;
                var         orderControl = this.FindAncestor <OrderControl>();
                if (DataContext is Order order1)
                {
                    var screen = new TrailBurgerCustomization();
                    screen.DataContext = firstItem;
                    orderControl?.SwapScreen(screen);
                }
            }

            ///Dakota Double Burger
            if (OrderList.SelectedItem != null && OrderList.SelectedItem.ToString().Contains("Dakota"))
            {
                DakotaDoubleBurger firstItem = args.AddedItems[0] as DakotaDoubleBurger;
                var orderControl             = this.FindAncestor <OrderControl>();
                if (DataContext is Order order1)
                {
                    var screen = new DakotaDoubleBurgerCustomization();
                    screen.DataContext = firstItem;
                    orderControl?.SwapScreen(screen);
                }
            }

            ///Texas Triple Burger
            if (OrderList.SelectedItem != null && OrderList.SelectedItem.ToString().Contains("Triple"))
            {
                TexasTripleBurger firstItem = args.AddedItems[0] as TexasTripleBurger;
                var orderControl            = this.FindAncestor <OrderControl>();
                if (DataContext is Order order1)
                {
                    var screen = new TexasTripleBurgerCustomization();
                    screen.DataContext = firstItem;
                    orderControl?.SwapScreen(screen);
                }
            }

            ///Angry Chicken
            if (OrderList.SelectedItem != null && OrderList.SelectedItem.ToString().Contains("Angry"))
            {
                AngryChicken firstItem    = args.AddedItems[0] as AngryChicken;
                var          orderControl = this.FindAncestor <OrderControl>();
                if (DataContext is Order order1)
                {
                    var screen = new AngryChickenCustomization();
                    screen.DataContext = firstItem;
                    orderControl?.SwapScreen(screen);
                }
            }

            //Sides

            ///Chili Cheese Fries
            if (OrderList.SelectedItem != null && OrderList.SelectedItem.ToString().Contains("Chili Cheese Fries"))
            {
                ChiliCheeseFries firstItem = args.AddedItems[0] as ChiliCheeseFries;
                var orderControl           = this.FindAncestor <OrderControl>();
                if (DataContext is Order order1)
                {
                    var screen = new ChiliCheeseFriesCustomization();
                    screen.DataContext = firstItem;
                    orderControl?.SwapScreen(screen);
                }
            }

            //Corn Dodgers
            if (OrderList.SelectedItem != null && OrderList.SelectedItem.ToString().Contains("Corn Dodgers"))
            {
                CornDodgers firstItem    = args.AddedItems[0] as CornDodgers;
                var         orderControl = this.FindAncestor <OrderControl>();
                if (DataContext is Order order1)
                {
                    var screen = new CornDodgersCustomization();
                    screen.DataContext = firstItem;
                    orderControl?.SwapScreen(screen);
                }
            }

            //Baked Beans
            if (OrderList.SelectedItem != null && OrderList.SelectedItem.ToString().Contains("Baked Beans"))
            {
                BakedBeans firstItem    = args.AddedItems[0] as BakedBeans;
                var        orderControl = this.FindAncestor <OrderControl>();
                if (DataContext is Order order1)
                {
                    var screen = new BakedBeansCustomization();
                    screen.DataContext = firstItem;
                    orderControl?.SwapScreen(screen);
                }
            }

            //Pan De Campo
            if (OrderList.SelectedItem != null && OrderList.SelectedItem.ToString().Contains("Pan de Campo"))
            {
                PanDeCampo firstItem    = args.AddedItems[0] as PanDeCampo;
                var        orderControl = this.FindAncestor <OrderControl>();
                if (DataContext is Order order1)
                {
                    var screen = new PanDeCampoCustomization();
                    screen.DataContext = firstItem;
                    orderControl?.SwapScreen(screen);
                }
            }

            //Drinks

            //Jerked Soda
            if (OrderList.SelectedItem != null && OrderList.SelectedItem.ToString().Contains("Soda"))
            {
                JerkedSoda firstItem    = args.AddedItems[0] as JerkedSoda;
                var        orderControl = this.FindAncestor <OrderControl>();
                if (DataContext is Order order1)
                {
                    var screen = new JerkedSodaCustomization();
                    screen.DataContext = firstItem;
                    orderControl?.SwapScreen(screen);
                }
            }

            //Texas Tea
            if (OrderList.SelectedItem != null && OrderList.SelectedItem.ToString().Contains("Tea"))
            {
                TexasTea firstItem    = args.AddedItems[0] as TexasTea;
                var      orderControl = this.FindAncestor <OrderControl>();
                if (DataContext is Order order1)
                {
                    var screen = new TexasTeaCustomization();
                    screen.DataContext = firstItem;
                    orderControl?.SwapScreen(screen);
                }
            }

            //Cowboy Coffee
            if (OrderList.SelectedItem != null && OrderList.SelectedItem.ToString().Contains("Coffee"))
            {
                CowboyCoffee firstItem    = args.AddedItems[0] as CowboyCoffee;
                var          orderControl = this.FindAncestor <OrderControl>();
                if (DataContext is Order order1)
                {
                    var screen = new CowboyCoffeeCustomization();
                    screen.DataContext = firstItem;
                    orderControl?.SwapScreen(screen);
                }
            }

            //Water
            if (OrderList.SelectedItem != null && OrderList.SelectedItem.ToString().Contains("Water"))
            {
                Water firstItem    = args.AddedItems[0] as Water;
                var   orderControl = this.FindAncestor <OrderControl>();
                if (DataContext is Order order1)
                {
                    var screen = new WaterCustomization();
                    screen.DataContext = firstItem;
                    orderControl?.SwapScreen(screen);
                }
            }
        }
        /// <summary>
        /// The event handler when an item inside of the listbox is clicked to change the screen
        /// </summary>
        /// <param name="sender">Object clicked</param>
        /// <param name="e">Event args</param>
        private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (List.SelectedItem == null)
            {
                return;
            }

            if (List.SelectedItem.ToString().Contains("Angry Chicken"))
            {
                var orderControl = this.FindAncestor <OrderControl>();
                var screen       = new AngryChickenCustomization();
                screen.DataContext = List.SelectedItem;
                orderControl?.SwapScreen(screen);
            }

            else if (List.SelectedItem.ToString().Contains("Cowpoke Chili"))
            {
                var orderControl = this.FindAncestor <OrderControl>();
                var screen       = new CowpokeChiliCustomization();
                screen.DataContext = List.SelectedItem;
                orderControl?.SwapScreen(screen);
            }

            else if (List.SelectedItem.ToString().Contains("Trail Burger"))
            {
                var orderControl = this.FindAncestor <OrderControl>();
                var screen       = new TrailBurgerCustomization();
                screen.DataContext = List.SelectedItem;
                orderControl?.SwapScreen(screen);
            }

            else if (List.SelectedItem.ToString().Contains("Pecos Pulled Pork"))
            {
                var orderControl = this.FindAncestor <OrderControl>();
                var screen       = new PecosPulledPorkCustomization();
                screen.DataContext = List.SelectedItem;
                orderControl?.SwapScreen(screen);
            }

            else if (List.SelectedItem.ToString().Contains("Dakota Double Burger"))
            {
                var orderControl = this.FindAncestor <OrderControl>();
                var screen       = new DakotaDoubleBurgerCustomization();
                screen.DataContext = List.SelectedItem;
                orderControl?.SwapScreen(screen);
            }

            else if (List.SelectedItem.ToString().Contains("Texas Triple Burger"))
            {
                var orderControl = this.FindAncestor <OrderControl>();
                var screen       = new TexasTripleBurgerCustomization();
                screen.DataContext = List.SelectedItem;
                orderControl?.SwapScreen(screen);
            }

            else if (List.SelectedItem.ToString().Contains("Baked Beans"))
            {
                var orderControl = this.FindAncestor <OrderControl>();
                var screen       = new BakedBeansCustomization();
                screen.DataContext = List.SelectedItem;
                orderControl?.SwapScreen(screen);
            }

            else if (List.SelectedItem.ToString().Contains("Chili Cheese Fries"))
            {
                var orderControl = this.FindAncestor <OrderControl>();
                var screen       = new ChiliCheeseFriesCustomization();
                screen.DataContext = List.SelectedItem;
                orderControl?.SwapScreen(screen);
            }

            else if (List.SelectedItem.ToString().Contains("Corn Dodgers"))
            {
                var orderControl = this.FindAncestor <OrderControl>();
                var screen       = new CornDodgersCustomization();
                screen.DataContext = List.SelectedItem;
                orderControl?.SwapScreen(screen);
            }

            else if (List.SelectedItem.ToString().Contains("Pan de Campo"))
            {
                var orderControl = this.FindAncestor <OrderControl>();
                var screen       = new PanDeCampoCustomization();
                screen.DataContext = List.SelectedItem;
                orderControl?.SwapScreen(screen);
            }

            else if (List.SelectedItem.ToString().Contains("Jerked Soda"))
            {
                var orderControl = this.FindAncestor <OrderControl>();
                var screen       = new JerkedSodaCustomization();
                screen.DataContext = List.SelectedItem;
                orderControl?.SwapScreen(screen);
            }

            else if (List.SelectedItem.ToString().Contains("Texas Sweet Tea") | List.SelectedItem.ToString().Contains("Texas Plain Tea"))
            {
                var orderControl = this.FindAncestor <OrderControl>();
                var screen       = new TexasTeaCustomization();
                screen.DataContext = List.SelectedItem;
                orderControl?.SwapScreen(screen);
            }

            else if (List.SelectedItem.ToString().Contains("Cowboy Coffee"))
            {
                var orderControl = this.FindAncestor <OrderControl>();
                var screen       = new CowboyCoffeeCustomization();
                screen.DataContext = List.SelectedItem;
                orderControl?.SwapScreen(screen);
            }

            else if (List.SelectedItem.ToString().Contains("Water"))
            {
                var orderControl = this.FindAncestor <OrderControl>();
                var screen       = new WaterCustomization();
                screen.DataContext = List.SelectedItem;
                orderControl?.SwapScreen(screen);
            }
        }
Exemplo n.º 12
0
        /// <summary>
        /// Replaces the MenuItemSelectionControl in the OrderControl parent
        /// with a customization screen of the selected ListBox's DataContext
        /// thus allowing the user to edit previously added order items.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void OnSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var selectedItem = (sender as ListBox).SelectedItem;
            var orderControl = this.FindAncestor <OrderControl>();

            // Replace the MenuItemSelectionControl with a customization screen
            // that matches the object type of the DataContext of the selectedItem
            // and set the customization screen's DataContext to the DataContext
            // of the selectedItem.
            if (selectedItem is AngryChicken angryChickenItem)
            {
                var angryChickenScreen = new AngryChickenCustomization();
                angryChickenScreen.DataContext = angryChickenItem;
                orderControl?.SwapScreen(angryChickenScreen);
            }
            else if (selectedItem is BakedBeans bakedBeansItem)
            {
                var bakedBeansScreen = new BakedBeansCustomization();
                bakedBeansScreen.DataContext = bakedBeansItem;

                // Check the appropriate size radio button on the bakedBeansScreen.
                switch ((selectedItem as BakedBeans).Size)
                {
                case CowboyCafe.Data.Size.Large:
                    bakedBeansScreen.SizeLarge.IsChecked = true;
                    break;

                case CowboyCafe.Data.Size.Medium:
                    bakedBeansScreen.SizeMedium.IsChecked = true;
                    break;

                case CowboyCafe.Data.Size.Small:
                    bakedBeansScreen.SizeSmall.IsChecked = true;
                    break;

                default:
                    throw new NotImplementedException("Unknown Size");
                }

                orderControl?.SwapScreen(bakedBeansScreen);
            }
            else if (selectedItem is ChiliCheeseFries chiliCheeseFriesItem)
            {
                var chiliCheeseFriesScreen = new ChiliCheeseFriesCustomization();
                chiliCheeseFriesScreen.DataContext = chiliCheeseFriesItem;


                // Check the appropriate size radio button on the chiliCheeseFriesScreen.
                switch ((selectedItem as ChiliCheeseFries).Size)
                {
                case CowboyCafe.Data.Size.Large:
                    chiliCheeseFriesScreen.SizeLarge.IsChecked = true;
                    break;

                case CowboyCafe.Data.Size.Medium:
                    chiliCheeseFriesScreen.SizeMedium.IsChecked = true;
                    break;

                case CowboyCafe.Data.Size.Small:
                    chiliCheeseFriesScreen.SizeSmall.IsChecked = true;
                    break;

                default:
                    throw new NotImplementedException("Unknown Size");
                }

                orderControl?.SwapScreen(chiliCheeseFriesScreen);
            }
            else if (selectedItem is CornDodgers cornDodgersItem)
            {
                var cornDodgersScreen = new CornDodgersCustomization();
                cornDodgersScreen.DataContext = cornDodgersItem;

                // Check the appropriate size radio button on the cornDodgersScreen.
                switch ((selectedItem as CornDodgers).Size)
                {
                case CowboyCafe.Data.Size.Large:
                    cornDodgersScreen.SizeLarge.IsChecked = true;
                    break;

                case CowboyCafe.Data.Size.Medium:
                    cornDodgersScreen.SizeMedium.IsChecked = true;
                    break;

                case CowboyCafe.Data.Size.Small:
                    cornDodgersScreen.SizeSmall.IsChecked = true;
                    break;

                default:
                    throw new NotImplementedException("Unknown Size");
                }

                orderControl?.SwapScreen(cornDodgersScreen);
            }
            else if (selectedItem is CowboyCoffee cowboyCoffeeItem)
            {
                var cowboyCoffeeScreen = new CowboyCoffeeCustomization();
                cowboyCoffeeScreen.DataContext = cowboyCoffeeItem;

                // Check the appropriate size radio button on the cowboyCoffeeScreen.
                switch ((selectedItem as CowboyCoffee).Size)
                {
                case CowboyCafe.Data.Size.Large:
                    cowboyCoffeeScreen.SizeLarge.IsChecked = true;
                    break;

                case CowboyCafe.Data.Size.Medium:
                    cowboyCoffeeScreen.SizeMedium.IsChecked = true;
                    break;

                case CowboyCafe.Data.Size.Small:
                    cowboyCoffeeScreen.SizeSmall.IsChecked = true;
                    break;

                default:
                    throw new NotImplementedException("Unknown Size");
                }

                orderControl?.SwapScreen(cowboyCoffeeScreen);
            }
            else if (selectedItem is CowpokeChili cowpokeChiliItem)
            {
                var cowpokeChiliScreen = new CowpokeChiliCustomization();
                cowpokeChiliScreen.DataContext = cowpokeChiliItem;
                orderControl?.SwapScreen(cowpokeChiliScreen);
            }
            else if (selectedItem is DakotaDoubleBurger dakotaDoubleBurgerItem)
            {
                var dakotaDoubleBurgerScreen = new DakotaDoubleBurgerCustomization();
                dakotaDoubleBurgerScreen.DataContext = dakotaDoubleBurgerItem;
                orderControl?.SwapScreen(dakotaDoubleBurgerScreen);
            }
            else if (selectedItem is JerkedSoda jerkedSodaItem)
            {
                var jerkedSodaScreen = new JerkedSodaCustomization();
                jerkedSodaScreen.DataContext = jerkedSodaItem;

                // Check the appropriate flavor radio button on the jerkedSodaScreen.
                switch ((selectedItem as JerkedSoda).Flavor)
                {
                case CowboyCafe.Data.SodaFlavor.CreamSoda:
                    jerkedSodaScreen.FlavorCreamSoda.IsChecked = true;
                    break;

                case CowboyCafe.Data.SodaFlavor.OrangeSoda:
                    jerkedSodaScreen.FlavorCreamSoda.IsChecked = true;
                    break;

                case CowboyCafe.Data.SodaFlavor.Sarsaparilla:
                    jerkedSodaScreen.FlavorSarsaparilla.IsChecked = true;
                    break;

                case CowboyCafe.Data.SodaFlavor.BirchBeer:
                    jerkedSodaScreen.FlavorBirchBeer.IsChecked = true;
                    break;

                case CowboyCafe.Data.SodaFlavor.RootBeer:
                    jerkedSodaScreen.FlavorRootBeer.IsChecked = true;
                    break;

                default:
                    throw new NotImplementedException("Unknown Flavor");
                }

                // Check the appropriate size radio button on the jerkedSodaScreen.
                switch ((selectedItem as JerkedSoda).Size)
                {
                case CowboyCafe.Data.Size.Large:
                    jerkedSodaScreen.SizeLarge.IsChecked = true;
                    break;

                case CowboyCafe.Data.Size.Medium:
                    jerkedSodaScreen.SizeMedium.IsChecked = true;
                    break;

                case CowboyCafe.Data.Size.Small:
                    jerkedSodaScreen.SizeSmall.IsChecked = true;
                    break;

                default:
                    throw new NotImplementedException("Unknown Size");
                }

                orderControl?.SwapScreen(jerkedSodaScreen);
            }
            else if (selectedItem is PanDeCampo panDeCampoItem)
            {
                var panDeCampoScreen = new PanDeCampoCustomization();
                panDeCampoScreen.DataContext = panDeCampoItem;

                // Check the appropriate size radio button on the panDeCampoScreen.
                switch ((selectedItem as PanDeCampo).Size)
                {
                case CowboyCafe.Data.Size.Large:
                    panDeCampoScreen.SizeLarge.IsChecked = true;
                    break;

                case CowboyCafe.Data.Size.Medium:
                    panDeCampoScreen.SizeMedium.IsChecked = true;
                    break;

                case CowboyCafe.Data.Size.Small:
                    panDeCampoScreen.SizeSmall.IsChecked = true;
                    break;

                default:
                    throw new NotImplementedException("Unknown Size");
                }

                orderControl?.SwapScreen(panDeCampoScreen);
            }
            else if (selectedItem is PecosPulledPork pecosPulledPorkItem)
            {
                var pecosPulledPorkScreen = new PecosPulledPorkCustomization();
                pecosPulledPorkScreen.DataContext = pecosPulledPorkItem;
                orderControl?.SwapScreen(pecosPulledPorkScreen);
            }
            else if (selectedItem is RustlersRibs rustlersRibsItem)
            {
                var rustlersRibsScreen = new RustlersRibsCustomization();
                rustlersRibsScreen.DataContext = rustlersRibsItem;
                orderControl?.SwapScreen(rustlersRibsScreen);
            }
            else if (selectedItem is TexasTea texasTeaItem)
            {
                var texasTeaScreen = new TexasTeaCustomization();
                texasTeaScreen.DataContext = texasTeaItem;

                // Check the appropriate size radio button on the texasTeaScreen.
                switch ((selectedItem as TexasTea).Size)
                {
                case CowboyCafe.Data.Size.Large:
                    texasTeaScreen.SizeLarge.IsChecked = true;
                    break;

                case CowboyCafe.Data.Size.Medium:
                    texasTeaScreen.SizeMedium.IsChecked = true;
                    break;

                case CowboyCafe.Data.Size.Small:
                    texasTeaScreen.SizeSmall.IsChecked = true;
                    break;

                default:
                    throw new NotImplementedException("Unknown Size");
                }

                orderControl?.SwapScreen(texasTeaScreen);
            }
            else if (selectedItem is TexasTripleBurger texasTripleBurgerItem)
            {
                var texasTripleBurgerScreen = new TexasTripleBurgerCustomization();
                texasTripleBurgerScreen.DataContext = texasTripleBurgerItem;
                orderControl?.SwapScreen(texasTripleBurgerScreen);
            }
            else if (selectedItem is TrailBurger trailBurgerItem)
            {
                var trailBurgerScreen = new TrailBurgerCustomization();
                trailBurgerScreen.DataContext = trailBurgerItem;
                orderControl?.SwapScreen(trailBurgerScreen);
            }
            else if (selectedItem is Water waterItem)
            {
                var waterScreen = new WaterCustomization();
                waterScreen.DataContext = waterItem;

                // Check the appropriate size radio button on the waterScreen.
                switch ((selectedItem as Water).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");
                }

                orderControl?.SwapScreen(waterScreen);
            }
        }
        private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var item = (sender as ListBox).SelectedItem;

            if (item == null)
            {
                return;
            }

            if (item is AngryChicken)
            {
                var screen = new AngryChickenCustomization();
                (screen as FrameworkElement).DataContext = item;
                var orderControl = this.FindAncestor <OrderControl>();
                orderControl?.SwapScreen(screen as FrameworkElement);
            }
            else if (item is BakedBeans)
            {
                var screen = new BakedBeansCustomization();
                (screen as FrameworkElement).DataContext = item;
                var orderControl = this.FindAncestor <OrderControl>();
                orderControl?.SwapScreen(screen as FrameworkElement);
            }
            else if (item is ChiliCheeseFries)
            {
                var screen = new ChiliCheeseFriesCustomization();
                (screen as FrameworkElement).DataContext = item;
                var orderControl = this.FindAncestor <OrderControl>();
                orderControl?.SwapScreen(screen as FrameworkElement);
            }
            else if (item is CornDodgers)
            {
                var screen = new CornDodgersCustomization();
                (screen as FrameworkElement).DataContext = item;
                var orderControl = this.FindAncestor <OrderControl>();
                orderControl?.SwapScreen(screen as FrameworkElement);
            }
            else if (item is CowboyCoffee)
            {
                var screen = new CowboyCoffeeCustomization();
                (screen as FrameworkElement).DataContext = item;
                var orderControl = this.FindAncestor <OrderControl>();
                orderControl?.SwapScreen(screen as FrameworkElement);
            }
            else if (item is CowpokeChili)
            {
                var screen = new CowpokeChiliCustomization();
                (screen as FrameworkElement).DataContext = item;
                var orderControl = this.FindAncestor <OrderControl>();
                orderControl?.SwapScreen(screen as FrameworkElement);
            }
            else if (item is DakotaDoubleBurger)
            {
                var screen = new DakotaDoubleBurgerCustomization();
                (screen as FrameworkElement).DataContext = item;
                var orderControl = this.FindAncestor <OrderControl>();
                orderControl?.SwapScreen(screen as FrameworkElement);
            }
            else if (item is JerkedSoda)
            {
                var screen = new JerkedSodaCustomization();
                (screen as FrameworkElement).DataContext = item;
                var orderControl = this.FindAncestor <OrderControl>();
                orderControl?.SwapScreen(screen as FrameworkElement);
            }
            else if (item is PanDeCampo)
            {
                var screen = new PanDeCampoCustomization();
                (screen as FrameworkElement).DataContext = item;
                var orderControl = this.FindAncestor <OrderControl>();
                orderControl?.SwapScreen(screen as FrameworkElement);
            }
            else if (item is PecosPulledPork)
            {
                var screen = new PecosPulledPorkCustomization();
                (screen as FrameworkElement).DataContext = item;
                var orderControl = this.FindAncestor <OrderControl>();
                orderControl?.SwapScreen(screen as FrameworkElement);
            }
            else if (item is TexasTea)
            {
                var screen = new TexasTeaCustomization();
                (screen as FrameworkElement).DataContext = item;
                var orderControl = this.FindAncestor <OrderControl>();
                orderControl?.SwapScreen(screen as FrameworkElement);
            }
            else if (item is TexasTripleBurger)
            {
                var screen = new TexasTripleBurgerCustomization();
                (screen as FrameworkElement).DataContext = item;
                var orderControl = this.FindAncestor <OrderControl>();
                orderControl?.SwapScreen(screen as FrameworkElement);
            }
            else if (item is TrailBurger)
            {
                var screen = new TrailBurgerCustomization();
                (screen as FrameworkElement).DataContext = item;
                var orderControl = this.FindAncestor <OrderControl>();
                orderControl?.SwapScreen(screen as FrameworkElement);
            }
            else if (item is Water)
            {
                var screen = new WaterCustomization();
                (screen as FrameworkElement).DataContext = item;
                var orderControl = this.FindAncestor <OrderControl>();
                orderControl?.SwapScreen(screen as FrameworkElement);
            }
            else
            {
                return;
            }
        }
Exemplo n.º 14
0
        private void CheckTypeAndLoadScreen(object item) // too many if statements :-(
        {
            var orderControl = this.FindAncestor <OrderControl>();

            if (item is AngryChicken)
            {
                var screen = new AngryChickenCustomization();
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is BakedBeans)
            {
                var screen = new BakedBeansCustomization();
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is ChiliCheeseFries)
            {
                var screen = new ChiliCheeseFriesCustomization();
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is CornDodgers)
            {
                var screen = new CornDodgersCustomization();
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is CowboyCoffee)
            {
                var screen = new CowboyCoffeeCustomization();
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is CowpokeChili)
            {
                var screen = new CowPokeChiliCustomization();
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is DakotaDoubleBurger)
            {
                var screen = new DakotaDoubleBurgerCustomization();
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is JerkedSoda)
            {
                var screen = new JerkedSodaCustomization();
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is PanDeCampo)
            {
                var screen = new PanDeCampoCustomization();
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is PecosPulledPork)
            {
                var screen = new PecosPulledPorkCustomization();
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is TexasTea)
            {
                var screen = new TexasTeaCustomization();
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is TexasTripleBurger)
            {
                var screen = new TexasTripleBurgerCustomization();
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is TrailBurger)
            {
                var screen = new TrailBurgerCustomization();
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
            if (item is TransactionControl)
            {
                var screen = new TransactionControl();
                screen.DataContext = item;
                orderControl?.SwapScreen(screen);
            }
        }
Exemplo n.º 15
0
 private void PList_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (DataContext is Order order)
     {
         if (sender is ListBox box)
         {
             var ordercontrol = this.FindAncestor <OrderControl>();
             if (box.SelectedItem is IOrderItem i)
             {
                 if (i is AngryChicken)
                 {
                     var screen = new AngryChickenCustomization();
                     screen.DataContext = i;
                     ordercontrol?.SwapScreen(screen);
                 }
                 if (i is BakedBeans)
                 {
                     var screen = new BakedBeansCustomization(order);
                     screen.DataContext = i;
                     ordercontrol?.SwapScreen(screen);
                 }
                 if (i is ChiliCheeseFries)
                 {
                     var screen = new ChiliCheeseFriesCustomization(order);
                     screen.DataContext = i;
                     ordercontrol?.SwapScreen(screen);
                 }
                 if (i is CornDodgers)
                 {
                     var screen = new CornDodgersCustomization(order);
                     screen.DataContext = i;
                     ordercontrol?.SwapScreen(screen);
                 }
                 if (i is CowboyCoffee)
                 {
                     var screen = new CowboyCoffeeCustomization(order);
                     screen.DataContext = i;
                     ordercontrol?.SwapScreen(screen);
                 }
                 if (i is CowpokeChili)
                 {
                     var screen = new CowpokeChiliCustomization();
                     screen.DataContext = i;
                     ordercontrol?.SwapScreen(screen);
                 }
                 if (i is DakotaDoubleBurger)
                 {
                     var screen = new DakotaDoubleBurgerCustomization();
                     screen.DataContext = i;
                     ordercontrol?.SwapScreen(screen);
                 }
                 if (i is JerkedSoda)
                 {
                     var screen = new JerkedSodaCustomization(order);
                     screen.DataContext = i;
                     ordercontrol?.SwapScreen(screen);
                 }
                 if (i is PanDeCampo)
                 {
                     var screen = new PanDeCampoCustomization(order);
                     screen.DataContext = i;
                     ordercontrol?.SwapScreen(screen);
                 }
                 if (i is TexasTea)
                 {
                     var screen = new TexasTeaCustomization(order);
                     screen.DataContext = i;
                     ordercontrol?.SwapScreen(screen);
                 }
                 if (i is TexasTripleBurger)
                 {
                     var screen = new TexasTripleBurgerCustomization();
                     screen.DataContext = i;
                     ordercontrol?.SwapScreen(screen);
                 }
                 if (i is TrailBurger)
                 {
                     var screen = new TrailBurgerCustomization();
                     screen.DataContext = i;
                     ordercontrol?.SwapScreen(screen);
                 }
                 if (i is Water)
                 {
                     var screen = new WaterCustomization(order);
                     screen.DataContext = i;
                     ordercontrol?.SwapScreen(screen);
                 }
             }
         }
     }
 }