示例#1
0
 /// <summary>
 /// Click event handler for Trailburger Button
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void OnAddTrailburgerButtonClicked(object sender, RoutedEventArgs e)
 {
     if (DataContext is Order data)
     {
         var item   = new TrailBurger();
         var screen = new CustomizeTrailburger();
         AddItemAndOpenCustomization(item, screen);
     }
 }
        public void OnItemButtonClicked(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 chiliEntree = new CowpokeChili();
                        var chiliScreen = new CustomizeCowpokeChili();
                        chiliScreen.DataContext = chiliEntree;
                        order.Add(chiliEntree);
                        orderControl.SwapScreen(chiliScreen);
                        break;

                    case "PecosPulledPork":
                        var porkEntree = new PecosPulledPork();
                        var porkScreen = new CustomizePecosPulledPork();
                        porkScreen.DataContext = porkEntree;
                        order.Add(porkEntree);
                        orderControl.SwapScreen(porkScreen);
                        break;

                    case "Trailburger":
                        var trailentree = new TrailBurger();
                        var trailscreen = new CustomizeTrailburger();
                        trailscreen.DataContext = trailentree;
                        order.Add(trailentree);
                        orderControl.SwapScreen(trailscreen);
                        break;

                    case "DakotaDouble":
                        var dakotaentree = new DakotaDoubleBurger();
                        var dakotascreen = new CustomizeDakotaDouble();
                        dakotascreen.DataContext = dakotaentree;
                        order.Add(dakotaentree);
                        orderControl.SwapScreen(dakotascreen);
                        break;

                    case "TexasTriple":
                        var texasentree = new TexasTripleBurger();
                        var texasscreen = new CustomizeTexasTriple();
                        texasscreen.DataContext = texasentree;
                        order.Add(texasentree);
                        orderControl.SwapScreen(texasscreen);
                        break;

                    case "AngryChicken":
                        var entree = new AngryChicken();
                        var screen = new CustomizeAngryChicken();
                        screen.DataContext = entree;
                        order.Add(entree);
                        orderControl.SwapScreen(screen);
                        break;

                    case "ChiliCheeseFries":
                        var chilientree = new ChiliCheeseFries();
                        var chiliscreen = new CustomizeSide();
                        chiliscreen.DataContext = chilientree;
                        order.Add(chilientree);
                        orderControl.SwapScreen(chiliscreen);
                        break;

                    case "CornDodgers":
                        var dogerentree = new CornDodgers();
                        var dogerscreen = new CustomizeSide();
                        dogerscreen.DataContext = dogerentree;
                        order.Add(dogerentree);
                        orderControl.SwapScreen(dogerscreen);
                        break;

                    case "PanDeCampo":
                        var panentree = new PanDeCampo();
                        var panscreen = new CustomizeSide();
                        panscreen.DataContext = panentree;
                        order.Add(panentree);
                        orderControl.SwapScreen(panscreen);
                        break;

                    case "BakedBeans":
                        var Beansentree = new BakedBeans();
                        var Beansscreen = new CustomizeSide();
                        Beansscreen.DataContext = Beansentree;
                        order.Add(Beansentree);
                        orderControl.SwapScreen(Beansscreen);
                        break;

                    case "JerkedSoda":
                        var sodaentree = new JerkedSoda();
                        var sodascreen = new CustomizeJerkedSoda();
                        sodascreen.DataContext = sodaentree;
                        order.Add(sodaentree);
                        orderControl.SwapScreen(sodascreen);
                        break;

                    case "TexasTea":
                        var teaentree = new TexasTea();
                        var teascreen = new CustomizeTexasTea();
                        teascreen.DataContext = teaentree;
                        order.Add(teaentree);
                        orderControl.SwapScreen(teascreen);
                        break;

                    case "CowboyCoffee":
                        var coffeeentree = new CowboyCoffee();
                        var coffeescreen = new CustomizeCowboyCoffee();
                        coffeescreen.DataContext = coffeeentree;
                        order.Add(coffeeentree);
                        orderControl.SwapScreen(coffeescreen);
                        break;

                    case "Water":
                        var waterentree = new Water();
                        var waterscreen = new CustomizeWater();
                        waterscreen.DataContext = waterentree;
                        order.Add(waterentree);
                        orderControl.SwapScreen(waterscreen);
                        break;
                    }
                }
            }
        }
        /// <summary>
        /// handles the buttons
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void itemAddTest(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 cow     = new CowpokeChili();
                        var cowCust = new CustomizeCowpokeChili();
                        cowCust.DataContext = cow;
                        order.Add(cow);
                        orderControl.SwapScreen(cowCust);
                        break;

                    case "AngryChicken":
                        var chicken     = new AngryChicken();
                        var chickenCust = new CustomizeAngryChicken();
                        chickenCust.DataContext = chicken;
                        order.Add(chicken);
                        orderControl.SwapScreen(chickenCust);
                        break;

                    case "TrailBurger":
                        var trailBurger     = new TrailBurger();
                        var trailBurgerCust = new CustomizeTrailburger();
                        trailBurgerCust.DataContext = trailBurger;
                        order.Add(trailBurger);
                        orderControl.SwapScreen(trailBurgerCust);
                        break;

                    //RustlersRibs does not take a customization
                    case "RustlersRibs":
                        order.Add(new RustlersRibs());
                        break;

                    case "PecosPulledPork":
                        var pecosPulledPork     = new PecosPulledPork();
                        var pecosPulledPorkCust = new CustomizePecosPulledPork();
                        pecosPulledPorkCust.DataContext = pecosPulledPork;
                        order.Add(pecosPulledPork);
                        orderControl.SwapScreen(pecosPulledPorkCust);
                        break;

                    case "DakotaDoubleBurger":
                        var dakotaDoubleBurger     = new DakotaDoubleBurger();
                        var dakotaDoubleBurgerCust = new CustomizeDakotaDoubleBurger();
                        dakotaDoubleBurgerCust.DataContext = dakotaDoubleBurger;
                        order.Add(dakotaDoubleBurger);
                        orderControl.SwapScreen(dakotaDoubleBurgerCust);
                        break;

                    case "TexasTripleBurger":
                        var texasTripleBurger     = new TexasTripleBurger();
                        var texasTripleBurgerCust = new CustomizeTexasTripleBurger();
                        texasTripleBurgerCust.DataContext = texasTripleBurger;
                        order.Add(texasTripleBurger);
                        orderControl.SwapScreen(texasTripleBurgerCust);
                        break;

                    //sides:
                    case "ChiliCheeseFries":
                        var chiliCheeseFries     = new ChiliCheeseFries();
                        var chiliCheeseFriesCust = new CustomizeChiliCheeseFries();
                        chiliCheeseFriesCust.DataContext = chiliCheeseFries;
                        order.Add(chiliCheeseFries);
                        orderControl.SwapScreen(chiliCheeseFriesCust);
                        break;

                    case "CornDodgers":
                        var cornDodgers     = new CornDodgers();
                        var cornDodgersCust = new CustomizeCornDodgers();
                        cornDodgersCust.DataContext = cornDodgers;
                        order.Add(cornDodgers);
                        orderControl.SwapScreen(cornDodgersCust);
                        break;

                    case "PanDeCampo":
                        var panDeCampo     = new PanDeCampo();
                        var panDeCampoCust = new CustomizePanDeCampo();
                        panDeCampoCust.DataContext = panDeCampo;
                        order.Add(panDeCampo);
                        orderControl.SwapScreen(panDeCampoCust);
                        break;

                    case "BakedBeans":
                        var bakedBeans     = new BakedBeans();
                        var bakedBeansCust = new CustomizeBakedBeans();
                        bakedBeansCust.DataContext = bakedBeans;
                        order.Add(bakedBeans);
                        orderControl.SwapScreen(bakedBeansCust);
                        break;

                    //drinks:
                    case "JerkedSoda":
                        var jerkedSoda     = new JerkedSoda();
                        var jerkedSodaCust = new CustomizeJerkedSoda();
                        jerkedSodaCust.DataContext = jerkedSoda;
                        order.Add(jerkedSoda);
                        orderControl.SwapScreen(jerkedSodaCust);
                        break;

                    case "TexasTea":
                        var texasTea     = new TexasTea();
                        var texasTeaCust = new CustomizeTexasTea();
                        texasTeaCust.DataContext = texasTea;
                        order.Add(texasTea);
                        orderControl.SwapScreen(texasTeaCust);
                        break;

                    case "CowboyCoffee":
                        var cowboyCoffee     = new CowboyCoffee();
                        var cowboyCoffeeCust = new CustomizeCowboyCoffee();
                        cowboyCoffeeCust.DataContext = cowboyCoffee;
                        order.Add(cowboyCoffee);
                        orderControl.SwapScreen(cowboyCoffeeCust);
                        break;

                    case "Water":
                        var water     = new Water();
                        var waterCust = new CustomizeWater();
                        waterCust.DataContext = water;
                        order.Add(water);
                        orderControl.SwapScreen(waterCust);
                        break;
                    }
                }
            }
        }
示例#4
0
 public void SwitchScreen(object sender, RoutedEventArgs e)
 {
     if (sender is ListBox box)
     {
         if (box.SelectedItem is IOrderItem item)
         {
             box.SelectedItem = null;
             if (item is AngryChicken chicken)
             {
                 order = this.FindAncestor <OrderControl>();
                 var screen = new CustomizeAngryChicken();
                 screen.DataContext = chicken;
                 order.SwapScreen(screen);
             }
             else if (item is BakedBeans bean)
             {
                 order = this.FindAncestor <OrderControl>();
                 var screen = new CustomizeSide();
                 screen.DataContext = bean;
                 order.SwapScreen(screen);
             }
             else if (item is ChiliCheeseFries fries)
             {
                 order = this.FindAncestor <OrderControl>();
                 var screen = new CustomizeSide();
                 screen.DataContext = fries;
                 order.SwapScreen(screen);
             }
             else if (item is CornDodgers corn)
             {
                 order = this.FindAncestor <OrderControl>();
                 var screen = new CustomizeSide();
                 screen.DataContext = corn;
                 order.SwapScreen(screen);
             }
             else if (item is CowboyCoffee coffee)
             {
                 order = this.FindAncestor <OrderControl>();
                 var screen = new CustomizeCowboyCoffee();
                 screen.DataContext = coffee;
                 order.SwapScreen(screen);
             }
             else if (item is CowpokeChili chili)
             {
                 order = this.FindAncestor <OrderControl>();
                 var screen = new CustomizeCowpokeChili();
                 screen.DataContext = chili;
                 order.SwapScreen(screen);
             }
             else if (item is DakotaDoubleBurger dakota)
             {
                 order = this.FindAncestor <OrderControl>();
                 var screen = new CustomizeDakotaDouble();
                 screen.DataContext = dakota;
                 order.SwapScreen(screen);
             }
             else if (item is JerkedSoda soda)
             {
                 order = this.FindAncestor <OrderControl>();
                 var screen = new CustomizeJerkedSoda();
                 screen.DataContext = soda;
                 order.SwapScreen(screen);
             }
             else if (item is PanDeCampo pan)
             {
                 order = this.FindAncestor <OrderControl>();
                 var screen = new CustomizeSide();
                 screen.DataContext = pan;
                 order.SwapScreen(screen);
             }
             else if (item is PecosPulledPork pork)
             {
                 order = this.FindAncestor <OrderControl>();
                 var screen = new CustomizePecosPulledPork();
                 screen.DataContext = pork;
                 order.SwapScreen(screen);
             }
             else if (item is TexasTea tea)
             {
                 order = this.FindAncestor <OrderControl>();
                 var screen = new CustomizeTexasTea();
                 screen.DataContext = tea;
                 order.SwapScreen(screen);
             }
             else if (item is TexasTripleBurger tex)
             {
                 order = this.FindAncestor <OrderControl>();
                 var screen = new CustomizeTexasTriple();
                 screen.DataContext = tex;
                 order.SwapScreen(screen);
             }
             else if (item is TrailBurger burger)
             {
                 order = this.FindAncestor <OrderControl>();
                 var screen = new CustomizeTrailburger();
                 screen.DataContext = burger;
                 order.SwapScreen(screen);
             }
             else if (item is Water water)
             {
                 order = this.FindAncestor <OrderControl>();
                 var screen = new CustomizeWater();
                 screen.DataContext = water;
                 order.SwapScreen(screen);
             }
         }
     }
 }
        /// <summary>
        /// brings up the same instance that was first used to create the item.
        /// (thus an item can be edited)
        /// </summary>
        /// <param name="sender">the button clicked</param>
        /// <param name="e">the event args</param>
        public void EditItem(object sender, RoutedEventArgs e)
        {
            var orderControl = this.FindAncestor <OrderControl>();

            if (DataContext is Order order)
            {
                //help.Text = ListOne.SelectedItem.ToString();
                if (ListOne.SelectedItem != null)
                {
                    var temp = ListOne.SelectedItem.ToString();
                    switch (temp)
                    {
                    case "Cowpoke Chili":
                        var cow     = (CowpokeChili)ListOne.SelectedItem;//was (CowboyCafe.Data.CustomizeCowpokeCili)ListOne.SelectedItem;
                        var cowCust = new CustomizeCowpokeChili();
                        cowCust.DataContext = cow;
                        orderControl.SwapScreen(cowCust);
                        break;

                    case "Angry Chicken":
                        var chicken     = (AngryChicken)ListOne.SelectedItem;
                        var chickenCust = new CustomizeAngryChicken();
                        chickenCust.DataContext = chicken;
                        orderControl.SwapScreen(chickenCust);
                        break;

                    case "Trail Burger":
                        var trailBurger     = (TrailBurger)ListOne.SelectedItem;
                        var trailBurgerCust = new CustomizeTrailburger();
                        trailBurgerCust.DataContext = trailBurger;
                        orderControl.SwapScreen(trailBurgerCust);
                        break;

                    //rustlers ribs does not take customizations
                    case "Pecos Pulled Pork":
                        var pecosPulledPork     = (PecosPulledPork)ListOne.SelectedItem;
                        var pecosPulledPorkCust = new CustomizePecosPulledPork();
                        pecosPulledPorkCust.DataContext = pecosPulledPork;
                        orderControl.SwapScreen(pecosPulledPorkCust);
                        break;

                    case "Dakota Double Burger":
                        var dakotaDoubleBurger     = (DakotaDoubleBurger)ListOne.SelectedItem;
                        var dakotaDoubleBurgerCust = new CustomizeDakotaDoubleBurger();
                        dakotaDoubleBurgerCust.DataContext = dakotaDoubleBurger;
                        orderControl.SwapScreen(dakotaDoubleBurgerCust);
                        break;

                    case "Texas Triple Burger":
                        var texasTripleBurger     = (TexasTripleBurger)ListOne.SelectedItem;
                        var texasTripleBurgerCust = new CustomizeTexasTripleBurger();
                        texasTripleBurgerCust.DataContext = texasTripleBurger;
                        orderControl.SwapScreen(texasTripleBurgerCust);
                        break;
                    }
                    if (ListOne.SelectedItem.ToString().Contains("Chili Cheese Fries"))
                    {
                        var chiliCheeseFries     = (ChiliCheeseFries)ListOne.SelectedItem;
                        var chiliCheeseFriesCust = new CustomizeChiliCheeseFries();
                        chiliCheeseFriesCust.DataContext = chiliCheeseFries;
                        orderControl.SwapScreen(chiliCheeseFriesCust);
                    }
                    if (temp.Contains("Corn Dodgers"))
                    {
                        var cornDodgers     = (CornDodgers)ListOne.SelectedItem;
                        var cornDodgersCust = new CustomizeCornDodgers();
                        cornDodgersCust.DataContext = cornDodgers;
                        orderControl.SwapScreen(cornDodgersCust);
                    }
                    else if (temp.Contains("Pan de Campo"))
                    {
                        var panDeCampo     = (PanDeCampo)ListOne.SelectedItem;
                        var panDeCampoCust = new CustomizePanDeCampo();
                        panDeCampoCust.DataContext = panDeCampo;
                        orderControl.SwapScreen(panDeCampoCust);
                    }
                    else if (temp.Contains("Baked Beans"))
                    {
                        var bakedBeans     = (BakedBeans)ListOne.SelectedItem;
                        var bakedBeansCust = new CustomizeBakedBeans();
                        bakedBeansCust.DataContext = bakedBeans;
                        orderControl.SwapScreen(bakedBeansCust);
                    }
                    //drinks:
                    else if (temp.Contains("Jerked Soda"))
                    {
                        var jerkedSoda     = (JerkedSoda)ListOne.SelectedItem;
                        var jerkedSodaCust = new CustomizeJerkedSoda();
                        jerkedSodaCust.DataContext = jerkedSoda;
                        orderControl.SwapScreen(jerkedSodaCust);
                    }
                    else if (temp.Contains("Tea"))
                    {
                        var tea     = (TexasTea)ListOne.SelectedItem;
                        var teaCust = new CustomizeTexasTea();
                        teaCust.DataContext = tea;
                        orderControl.SwapScreen(teaCust);
                    }
                    else if (temp.Contains("Cowboy Coffee"))
                    {
                        var cowboyCoffee     = (CowboyCoffee)ListOne.SelectedItem;
                        var cowboyCoffeeCust = new CustomizeCowboyCoffee();
                        cowboyCoffeeCust.DataContext = cowboyCoffee;
                        orderControl.SwapScreen(cowboyCoffeeCust);
                    }
                    else if (temp.Contains("Water"))
                    {
                        var water     = (Water)ListOne.SelectedItem;
                        var waterCust = new CustomizeWater();
                        waterCust.DataContext = water;
                        orderControl.SwapScreen(waterCust);
                    }
                }
            }
        }
        /// <summary>
        /// Event handler for a change in item customization
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e">The Listbox</param>
        void ListBoxSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            foreach (object item in e.AddedItems)
            {
                if (item is AngryChicken)
                {
                    var orderControl = this.FindAncestor <OrderControl>();
                    if (orderControl == null)
                    {
                        throw new Exception("An ancestor of OrderControl was not found");
                    }

                    var screen = new CustomizeAngryChicken();
                    screen.DataContext = item;
                    orderControl.SwapScreen(screen);
                }
                else if (item is BakedBeans)
                {
                    var orderControl = this.FindAncestor <OrderControl>();
                    if (orderControl == null)
                    {
                        throw new Exception("An ancestor of OrderControl was not found");
                    }

                    var screen = new CustomizeBakedBeans();
                    screen.DataContext = item;
                    orderControl.SwapScreen(screen);
                }
                else if (item is ChiliCheeseFries)
                {
                    var orderControl = this.FindAncestor <OrderControl>();
                    if (orderControl == null)
                    {
                        throw new Exception("An ancestor of OrderControl was not found");
                    }

                    var screen = new CustomizeChiliCheeseFries();
                    screen.DataContext = item;
                    orderControl.SwapScreen(screen);
                }
                else if (item is CornDodgers)
                {
                    var orderControl = this.FindAncestor <OrderControl>();
                    if (orderControl == null)
                    {
                        throw new Exception("An ancestor of OrderControl was not found");
                    }

                    var screen = new CustomizeCornDodgers();
                    screen.DataContext = item;
                    orderControl.SwapScreen(screen);
                }
                else if (item is CowboyCoffee)
                {
                    var orderControl = this.FindAncestor <OrderControl>();
                    if (orderControl == null)
                    {
                        throw new Exception("An ancestor of OrderControl was not found");
                    }

                    var screen = new CustomizeCowboyCoffee();
                    screen.DataContext = item;
                    orderControl.SwapScreen(screen);
                }
                else if (item is CowpokeChili)
                {
                    var orderControl = this.FindAncestor <OrderControl>();
                    if (orderControl == null)
                    {
                        throw new Exception("An ancestor of OrderControl was not found");
                    }

                    var screen = new CustomizeCowpokeChili();
                    screen.DataContext = item;
                    orderControl.SwapScreen(screen);
                }
                else if (item is DakotaDoubleBurger)
                {
                    var orderControl = this.FindAncestor <OrderControl>();
                    if (orderControl == null)
                    {
                        throw new Exception("An ancestor of OrderControl was not found");
                    }

                    var screen = new CustomizeDakotaDoubleBurger();
                    screen.DataContext = item;
                    orderControl.SwapScreen(screen);
                }
                else if (item is JerkedSoda)
                {
                    var orderControl = this.FindAncestor <OrderControl>();
                    if (orderControl == null)
                    {
                        throw new Exception("An ancestor of OrderControl was not found");
                    }

                    var screen = new CustomizeJerkedSoda();
                    screen.DataContext = item;
                    orderControl.SwapScreen(screen);
                }
                else if (item is PanDeCampo)
                {
                    var orderControl = this.FindAncestor <OrderControl>();
                    if (orderControl == null)
                    {
                        throw new Exception("An ancestor of OrderControl was not found");
                    }

                    var screen = new CustomizePanDeCampo();
                    screen.DataContext = item;
                    orderControl.SwapScreen(screen);
                }
                else if (item is PecosPulledPork)
                {
                    var orderControl = this.FindAncestor <OrderControl>();
                    if (orderControl == null)
                    {
                        throw new Exception("An ancestor of OrderControl was not found");
                    }

                    var screen = new CustomizePecosPulledPork();
                    screen.DataContext = item;
                    orderControl.SwapScreen(screen);
                }
                else if (item is TexasTea)
                {
                    var orderControl = this.FindAncestor <OrderControl>();
                    if (orderControl == null)
                    {
                        throw new Exception("An ancestor of OrderControl was not found");
                    }

                    var screen = new CustomizeTexasTea();
                    screen.DataContext = item;
                    orderControl.SwapScreen(screen);
                }
                else if (item is TexasTripleBurger)
                {
                    var orderControl = this.FindAncestor <OrderControl>();
                    if (orderControl == null)
                    {
                        throw new Exception("An ancestor of OrderControl was not found");
                    }

                    var screen = new CustomizeTexasTripleBurger();
                    screen.DataContext = item;
                    orderControl.SwapScreen(screen);
                }
                else if (item is TrailBurger)
                {
                    var orderControl = this.FindAncestor <OrderControl>();
                    if (orderControl == null)
                    {
                        throw new Exception("An ancestor of OrderControl was not found");
                    }

                    var screen = new CustomizeTrailburger();
                    screen.DataContext = item;
                    orderControl.SwapScreen(screen);
                }
                else if (item is Water)
                {
                    var orderControl = this.FindAncestor <OrderControl>();
                    if (orderControl == null)
                    {
                        throw new Exception("An ancestor of OrderControl was not found");
                    }

                    var screen = new CustomizeWater();
                    screen.DataContext = item;
                    orderControl.SwapScreen(screen);
                }
            }
        }