private void ConfirmPaymentButton_Click(object sender, RoutedEventArgs e)
        {
            bool items        = Order.Basket.Count != 0;
            bool deliverySet  = (rbCollection.IsChecked ?? false) || (rbHomeDelivery.IsChecked ?? false);
            bool correctInput = items & deliverySet;

            if (!correctInput)
            {
                string output = string.Empty;
                if (!items)
                {
                    output += "You need to add items to your basket to checkout!\n";
                }
                if (!deliverySet)
                {
                    output += "Please select a delivery option";
                }
                MessageBox.Show(output);
                return;
            }

            // if guest get address
            if (Order.User.ID == 0)
            {
                Window window = new GetGuestAddressWindow(this);
                bool   result = window.ShowDialog() ?? false;
                if (!result)
                {
                    return;
                }
            }

            // if the user is a customer, get confirmation of payment from a staff member
            if (!Order.User.IsStaff)
            {
                Window window = new StaffConfirmAction();
                bool   result = window.ShowDialog() ?? false;
                // if the action is cancelled
                if (!result)
                {
                    return;
                }
            }
            // enter order into the db
            Order.PaymentMethod = (selectedPaymentMethod.SelectedIndex == 0) ? OrderModel.PaymentType.Card : OrderModel.PaymentType.Cash;

            if (DBAccessHelper.ProcessOrder(Order))
            {
                MessageBox.Show("Payment saved!");
                Order.Basket.Items.Clear();
                confirmPaymentButton.IsEnabled  = false;
                confirmPaymentButton.Visibility = Visibility.Collapsed;
            }
            else
            {
                MessageBox.Show("Payment could not be saved!");
            }
        }