public override void ViewDidLoad() { base.ViewDidLoad(); Title = "Shipping Rates"; // Setup both operations to run var shopOperation = new GetShopOperation(client); shopOperation.DidReceiveShop += (op, shop) => { currencyFormatter = new NSNumberFormatter(); currencyFormatter.NumberStyle = NSNumberFormatterStyle.Currency; currencyFormatter.CurrencyCode = shop.Currency; }; shopOperation.FailedToReceiveShop += (op, error) => { Console.WriteLine("Failed to retrieve shop: {0}", error); }; NSOperationQueue.MainQueue.AddOperation(shopOperation); var shippingOperation = new GetShippingRatesOperation(client, checkout); shippingOperation.DidReceiveShippingRates += (op, rates) => { shippingRates = rates; }; shippingOperation.FailedToReceiveShippingRates += (op, error) => { Console.WriteLine("Failed to retrieve shipping rates: {0}", error); }; NSOperationQueue.MainQueue.AddOperation(shippingOperation); UIApplication.SharedApplication.NetworkActivityIndicatorVisible = true; // Ensure both operations are completed before we reload the table view var blockOperation = NSBlockOperation.Create(() => { UIApplication.SharedApplication.NetworkActivityIndicatorVisible = false; TableView.ReloadData(); }); blockOperation.AddDependency(shopOperation); blockOperation.AddDependency(shippingOperation); NSOperationQueue.MainQueue.AddOperation(blockOperation); allOperations = new NSOperation[] { blockOperation, shopOperation, shippingOperation }; }
public override void ViewDidLoad() { base.ViewDidLoad (); Title = "Shipping Rates"; // Setup both operations to run var shopOperation = new GetShopOperation (client); shopOperation.DidReceiveShop += (op, shop) => { currencyFormatter = new NSNumberFormatter (); currencyFormatter.NumberStyle = NSNumberFormatterStyle.Currency; currencyFormatter.CurrencyCode = shop.Currency; }; shopOperation.FailedToReceiveShop += (op, error) => { Console.WriteLine ("Failed to retrieve shop: {0}", error); }; NSOperationQueue.MainQueue.AddOperation (shopOperation); var shippingOperation = new GetShippingRatesOperation (client, checkout); shippingOperation.DidReceiveShippingRates += (op, rates) => { shippingRates = rates; }; shippingOperation.FailedToReceiveShippingRates += (op, error) => { Console.WriteLine ("Failed to retrieve shipping rates: {0}", error); }; NSOperationQueue.MainQueue.AddOperation (shippingOperation); UIApplication.SharedApplication.NetworkActivityIndicatorVisible = true; // Ensure both operations are completed before we reload the table view var blockOperation = NSBlockOperation.Create (() => { UIApplication.SharedApplication.NetworkActivityIndicatorVisible = false; TableView.ReloadData (); }); blockOperation.AddDependency (shopOperation); blockOperation.AddDependency (shippingOperation); NSOperationQueue.MainQueue.AddOperation (blockOperation); allOperations = new NSOperation[] { blockOperation, shopOperation, shippingOperation }; }