示例#1
0
 public BriarhearthCustomization(MenuSelection m, BriarheartBurger b)
 {
     InitializeComponent();
     burger      = b;
     menu        = m;
     DataContext = burger;
 }
 public ThalmorTripleCustomization(MenuSelection m, ThalmorTriple t)
 {
     InitializeComponent();
     triple      = t;
     menu        = m;
     DataContext = triple;
 }
        public void CancelButton(object sender, RoutedEventArgs e)
        {
            if (LeftContainer.Child is MenuSelection)
            {
                MenuSelection ms = (MenuSelection)LeftContainer.Child;
                if (ms.ComboCreate.IsEnabled)
                {
                    orderNum++;
                    this.DataContext = new Order(orderNum);
                }
                else
                {
                    try
                    {
                        var c = this.FindAncestor <ComboCustom>();
                        var x = (IOrderItem)c.DataContext;

                        var elem = (FrameworkElement)x.Display;
                        this?.DisplayUpdate(elem);
                    }
                    catch { }
                }
            }
            else
            {
                LeftContainer.Child = new MenuSelection();
            }
        }
示例#4
0
 public DoubleDraugrCustomization(MenuSelection m, DoubleDraugr d)
 {
     InitializeComponent();
     dd          = d;
     menu        = m;
     DataContext = dd;
 }
示例#5
0
        // Click event handler for the Credit/Debit button
        void CreditDebit(object sender, RoutedEventArgs e)
        {
            double tempTotal           = double.Parse(total.Text.ToString(), System.Globalization.NumberStyles.Currency);
            CardTransactionResult code = CardReader.RunCard(tempTotal);
            bool card = true;

            if (code == CardTransactionResult.Approved)
            {
                PrintReceipt(card);
                DependencyObject parent = this;
                do
                {
                    parent = LogicalTreeHelper.GetParent(parent);
                } while (!(parent is MainWindow || parent is null));
                if (parent is MainWindow menu)
                {
                    MenuSelection  screen    = new MenuSelection();
                    OrderComponent orderComp = new OrderComponent();

                    menu.displayBorder.Child = screen;
                    menu.orderBorder.Child   = orderComp;
                    menu.full.Children.Remove(this);
                    menu.DataContext = new Order();
                }

                Order.OrderNumber++;
            }
            else
            {
                MessageBox.Show(code.ToString());
            }
        }
示例#6
0
        public OrderComponent()
        {
            InitializeComponent();
            //allows the children to reference this component
            var childScreen = new MenuSelection(this);

            menuSelectionBorder.Child = childScreen;
        }
        void FinalizeSale(object sender, RoutedEventArgs e)
        {
            if (this.DataContext is CashDrawerViewModel drawer)
            {
                drawer.ApplyTransaction();

                DateTime currentTime = DateTime.Now;

                if (DataContext is Order order)
                {
                    RecieptPrinter.PrintLine("Order Number:\t" + Order.OrderNumber.ToString());
                    RecieptPrinter.PrintLine("\n" + currentTime.ToString() + "\n\n");

                    foreach (IOrderItem item in order)
                    {
                        RecieptPrinter.PrintLine(item.ToString() + "\t" + item.Price.ToString("C2") + "\n");
                        int temp = 0;
                        while (temp < item.SpecialInstructions.Count)
                        {
                            RecieptPrinter.PrintLine("\t" + item.SpecialInstructions[temp].ToString() + "\n");
                            temp++;
                        }
                    }

                    RecieptPrinter.PrintLine("\nSubtotal:\t" + order.Subtotal.ToString("C2"));
                    RecieptPrinter.PrintLine("\nTax:\t" + order.Tax.ToString("C2"));
                    RecieptPrinter.PrintLine("\nTotal:\t\t" + order.Total.ToString("C2"));

                    RecieptPrinter.PrintLine("\nPayment Type:\tCash");
                    RecieptPrinter.PrintLine("\nChange Owed:\t\t" + drawer.ChangeOwed.ToString("C2"));
                    RecieptPrinter.CutTape();
                }
            }

            DependencyObject parent = this;

            do
            {
                parent = LogicalTreeHelper.GetParent(parent);
            } while (!(parent is MainWindow || parent is null));
            if (parent is MainWindow menu)
            {
                MenuSelection  screen    = new MenuSelection();
                OrderComponent orderComp = new OrderComponent();

                menu.displayBorder.Child = screen;
                menu.orderBorder.Child   = orderComp;
                // Get back to menu selection screen
                menu.full.Children.Remove(this);
                menu.DataContext = new Order();
            }

            Order.OrderNumber++;
        }
        void OrderListSelectionChange(object sender, SelectionChangedEventArgs e)
        {
            FrameworkElement elem;
            IOrderItem       item = (IOrderItem)((ListBox)sender).SelectedItem;
            var orderControl      = this.FindAncestor <OrderControl>();

            if (item != null)
            {
                elem = (FrameworkElement)item.Display;
            }
            else
            {
                elem = new MenuSelection();
            }
            orderControl?.DisplayUpdate(elem);
        }
示例#9
0
 public PaymentSelectionControl(MenuSelection m, Order o)
 {
     InitializeComponent();
     menu  = m;
     order = o;
 }
示例#10
0
        //static MenuSelection menu;
        /// <summary>
        /// Finds the elements parent control and switches screens
        /// </summary>
        /// <param name="element"></param>
        public static void ReturnToMenuScreen(FrameworkElement element, MenuSelection menu)
        {
            OrderComponent orderControl = element.FindControl <OrderComponent>();

            orderControl.SwitchScreens(menu);//make sure you are only changing uppermost border.
        }
示例#11
0
        /// <summary>
        /// Takes the button selection for a menu item and updates screen to that items customization menu
        /// </summary>
        /// <param name="sender">Button</param>
        /// <param name="e">Event</param>
        public void MenuButtonPress(object sender, RoutedEventArgs e)
        {
            if (DataContext is Order orderX)
            {
                var              o = this.FindAncestor <OrderControl>();
                IOrderItem       choice;
                FrameworkElement display;
                switch ((sender as Button).Name)
                {
                case "burger":
                    display = new BriarheartBurgerCustom();
                    choice  = new BriarheartBurger();
                    break;

                case "draugr":
                    display = new DoubleDraugrCustom();
                    choice  = new DoubleDraugr();
                    break;

                case "triple":
                    display = new ThalmorTripleCustom();
                    choice  = new ThalmorTriple();
                    break;

                case "skeleton":
                    display = new SmokehousrSkeletonCustom();
                    choice  = new SmokehouseSkeleton();
                    break;

                case "omelette":
                    display = new GardenOrcOmeletteCustom();
                    choice  = new GardenOrcOmelette();
                    break;

                case "poacher":
                    display = new PhillyPoacherCustom();
                    choice  = new PhillyPoacher();
                    break;

                case "t_bone":
                    display = new NoCustom();
                    choice  = new ThugsTBone();
                    break;

                case "salad":
                    SideCustom salad = new SideCustom();
                    salad.Title.Text = "Vokun Salad Customization";
                    display          = salad;
                    choice           = new VokunSalad();
                    break;

                case "miraak":
                    SideCustom miraak = new SideCustom();
                    miraak.Title.Text = "Fried Miraak Customization";
                    display           = miraak;
                    choice            = new FriedMiraak();
                    break;

                case "grits":
                    SideCustom grits = new SideCustom();
                    grits.Title.Text = "Mad Otar Grits Customization";
                    display          = grits;
                    choice           = new MadOtarGrits();
                    break;

                case "fries":
                    SideCustom fries = new SideCustom();
                    fries.Title.Text = "DragonBorn Waffle Fries Customization";
                    display          = fries;
                    choice           = new DragonbornWaffleFries();
                    break;

                case "water":
                    display = new WarriorWaterCustom();
                    choice  = new WarriorWater();
                    break;

                case "soda":
                    display = new SailorSodaCustom();
                    choice  = new SailorSoda();
                    break;

                case "coffee":
                    display = new CandlehearthCoffeeCustom();
                    choice  = new CandlehearthCoffee();
                    break;

                case "milk":
                    display = new MarkarthMilkCustom();
                    choice  = new MarkarthMilk();
                    break;

                case "juice":
                    display = new ArentinoAppleJuiceCustom();
                    choice  = new AretinoAppleJuice();
                    break;

                case "ComboCreate":
                    display = new ComboCustom();
                    choice  = new Combo();
                    break;

                default:
                    display = new MenuSelection();
                    choice  = null;
                    break;
                }


                display.DataContext = choice;
                choice.Display      = display;
                o?.DisplayUpdate(display);
            }
        }