private void btnPayment_Click(object sender, RoutedEventArgs e)
        {
            double amount;

            if (double.TryParse(txtPaymentAmount.Text, out amount))
            {
                if (amount > 0)
                {
                    // Call the payment service
                    PaymentServiceReference.IPaymentService proxy = new
             PaymentServiceReference.PaymentServiceClient();

                    proxy.PayForOrder(
                                SelectedOrder.ID,
                                SelectedCustomer.ID,
                                amount,
                                SelectedPaymentType,
                                txtCreditCardNo.Text);

                    // Reload the payments of the selected order
                    ShowPaymentsForOrder(SelectedOrder);
                }
                else
                {
                    MessageBox.Show(
        Properties.Resources.PayTicketWindow_NewPayment_NotPositive);
                }
            }
            else
            {
                MessageBox.Show(
                Properties.Resources.PayTicketWindow_NewPayment_NotDouble);
            }
        }
 private void btnRefund_Click(object sender, RoutedEventArgs e)
 {
     PaymentServiceReference.IPaymentService proxy = new PaymentServiceReference.PaymentServiceClient();
     proxy.Refund(SelectedPayment.ID, SelectedPayment.CustomerID);
 }
        private void ShowPaymentsForOrder(TicketingService.Contracts.Order order)
        {
            if (order == null)
                lstPayments.ItemsSource = null;
            else
            {
                PaymentServiceReference.IPaymentService proxy = new PaymentServiceReference.PaymentServiceClient();
                lstPayments.ItemsSource = proxy.FindPayments(
                   new PaymentCriteria() { OrderID = order.ID });
            }

        }