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!"); } }