/// <summary>
        /// Confirms or cancels the order, OR removes an item from the order
        /// </summary>
        /// <param name="sender">button</param>
        /// <param name="e">left mouse down</param>
        public void uxButton_Click(object sender, RoutedEventArgs e)
        {
            Button button = (Button)sender;

            if (button.Name == "Finalize")
            {
                MessageBox.Show("Receipt Printed");
                PaymentViewModel pvm       = (PaymentViewModel)this.DataContext;
                OrderList        currOrder = (OrderList)this.ancestor.openSpace.DataContext;
                PrintReceipt     pn        = new PrintReceipt(currOrder);
                pn.PrintReceiptCash(pvm.CurrentChangeDue);
                pvm.FinishSale();
                this.ancestor.openSpace2.Child       = new OrderSideBar.Order(this.ancestor);
                this.ancestor.openSpace.DataContext  = new OrderList();
                this.ancestor.openSpace2.DataContext = this.ancestor.openSpace.DataContext;
                this.ancestor.SwitchScreen(Screen.Empty);
            }
            if (button.Name == "Cancel")
            {
                this.ancestor.openSpace2.Child       = new OrderSideBar.Order(this.ancestor);
                this.ancestor.openSpace.DataContext  = new OrderList();
                this.ancestor.openSpace2.DataContext = this.ancestor.openSpace.DataContext;
                this.ancestor.SwitchScreen(Screen.Empty);
            }
        }
        public void ChangingPaidOrChangeCurrencyShouldChangeRegisterCurrency()
        {
            pvm.ResetCashRegister();
            pvm.ChangePennies++;
            pvm.FinishSale();
            Assert.Equal(pvm.RegisterPennies, 199);
            pvm.ResetCashRegister();
            pvm.Paid1C++;
            pvm.FinishSale();
            Assert.Equal(pvm.RegisterPennies, 200);
            pvm.ResetCashRegister();
            pvm.ChangeNickels++;
            pvm.FinishSale();
            Assert.Equal(pvm.RegisterNickels, 79);
            pvm.ResetCashRegister();
            pvm.Paid5C++;
            pvm.FinishSale();
            Assert.Equal(pvm.RegisterNickels, 80);
            pvm.ResetCashRegister();
            pvm.ChangeDimes++;
            pvm.FinishSale();
            Assert.Equal(pvm.RegisterDimes, 99);
            pvm.ResetCashRegister();
            pvm.Paid10C++;
            pvm.FinishSale();
            Assert.Equal(pvm.RegisterDimes, 100);
            pvm.ResetCashRegister();
            pvm.ChangeQuarters++;
            pvm.FinishSale();
            Assert.Equal(pvm.RegisterQuarters, 79);
            pvm.ResetCashRegister();
            pvm.Paid25C++;
            pvm.FinishSale();
            Assert.Equal(pvm.RegisterQuarters, 80);
            pvm.ResetCashRegister();

            pvm.ChangeOnes++;
            pvm.FinishSale();
            Assert.Equal(pvm.RegisterOnes, 19);
            pvm.ResetCashRegister();
            pvm.PaidOnes++;
            pvm.FinishSale();
            Assert.Equal(pvm.RegisterOnes, 20);
            pvm.ResetCashRegister();
            pvm.ChangeFives++;
            pvm.FinishSale();
            Assert.Equal(pvm.RegisterFives, 3);
            pvm.ResetCashRegister();
            pvm.PaidFives++;
            pvm.FinishSale();
            Assert.Equal(pvm.RegisterFives, 4);
            pvm.ResetCashRegister();
            pvm.ChangeTens++;
            pvm.FinishSale();
            Assert.Equal(pvm.RegisterTens, 9);
            pvm.ResetCashRegister();
            pvm.PaidTens++;
            pvm.FinishSale();
            Assert.Equal(pvm.RegisterTens, 10);
            pvm.ResetCashRegister();
            pvm.ChangeTwenties++;
            pvm.FinishSale();
            Assert.Equal(pvm.RegisterTwenties, 4);
            pvm.ResetCashRegister();
            pvm.PaidTwenties++;
            pvm.FinishSale();
            Assert.Equal(pvm.RegisterTwenties, 5);
            pvm.ResetCashRegister();
            pvm.ChangeFifties++;
            pvm.FinishSale();
            Assert.Equal(pvm.RegisterFifties, -1);
            pvm.ResetCashRegister();
            pvm.PaidFifties++;
            pvm.FinishSale();
            Assert.Equal(pvm.RegisterFifties, 0);
            pvm.ResetCashRegister();
            pvm.ChangeHundreds++;
            pvm.FinishSale();
            Assert.Equal(pvm.RegisterHundreds, -1);
            pvm.ResetCashRegister();
            pvm.PaidHundreds++;
            pvm.FinishSale();
            Assert.Equal(pvm.RegisterHundreds, 1);
        }