Beispiel #1
0
        private void CheckoutWithCreditCard(object sender, EventArgs e)
        {
            // First, the credit card must be stored on the checkout
            AddCreditCardToCheckout(success => {
                if (success)
                {
                    UIApplication.SharedApplication.NetworkActivityIndicatorVisible = true;

                    // Upon successfully adding the credit card to the checkout, complete checkout must be called immediately
                    client.CompleteCheckout(checkout, (checkout, error) => {
                        if (error == null && checkout != null)
                        {
                            Console.WriteLine("Successfully completed checkout");
                            this.checkout = checkout;

                            var completionOperation = new GetCompletionStatusOperation(client, checkout);
                            completionOperation.DidReceiveCompletionStatus += (op, status) => {
                                UIApplication.SharedApplication.NetworkActivityIndicatorVisible = false;

                                Console.WriteLine("Successfully got completion status: {0}", status);
                                GetCompletedCheckout(null);
                            };
                            completionOperation.FailedToReceiveCompletionStatus += (op, err) => {
                                UIApplication.SharedApplication.NetworkActivityIndicatorVisible = false;

                                Console.WriteLine("Error getting completion status: {0}", err);
                            };

                            UIApplication.SharedApplication.NetworkActivityIndicatorVisible = true;
                            NSOperationQueue.MainQueue.AddOperation(completionOperation);
                        }
                        else
                        {
                            UIApplication.SharedApplication.NetworkActivityIndicatorVisible = false;
                            Console.WriteLine("Error completing checkout: {0}", error);
                        }
                    });
                }
            });
        }
        private void CheckoutWithCreditCard(object sender, EventArgs e)
        {
            // First, the credit card must be stored on the checkout
            AddCreditCardToCheckout (success => {
                if (success) {
                    UIApplication.SharedApplication.NetworkActivityIndicatorVisible = true;

                    // Upon successfully adding the credit card to the checkout, complete checkout must be called immediately
                    client.CompleteCheckout (checkout, (checkout, error) => {
                        if (error == null && checkout != null) {
                            Console.WriteLine ("Successfully completed checkout");
                            this.checkout = checkout;

                            var completionOperation = new GetCompletionStatusOperation (client, checkout);
                            completionOperation.DidReceiveCompletionStatus += (op, status) => {
                                UIApplication.SharedApplication.NetworkActivityIndicatorVisible = false;

                                Console.WriteLine ("Successfully got completion status: {0}", status);
                                GetCompletedCheckout (null);
                            };
                            completionOperation.FailedToReceiveCompletionStatus += (op, err) => {
                                UIApplication.SharedApplication.NetworkActivityIndicatorVisible = false;

                                Console.WriteLine ("Error getting completion status: {0}", err);
                            };

                            UIApplication.SharedApplication.NetworkActivityIndicatorVisible = true;
                            NSOperationQueue.MainQueue.AddOperation (completionOperation);
                        } else {
                            UIApplication.SharedApplication.NetworkActivityIndicatorVisible = false;
                            Console.WriteLine ("Error completing checkout: {0}", error);
                        }
                    });
                }
            });
        }