/// <summary> /// Retrieves order data from the web service for the customer currently selected. /// If, however, orders were retrieved previously, then these will be displayed. /// The effect is that the client application speeds up over time. /// </summary> private void treeViewCustomer_AfterSelect(object sender, TreeViewEventArgs e) { // Get selected customer. Note: root node does not have a customer record var customer = treeViewCustomer.SelectedNode.Tag as CustomerModel; if (customer == null) { return; } // Check if orders were already retrieved for customer if (customer.Orders.Count > 0) { BindOrders(customer.Orders); } else { this.Cursor = Cursors.WaitCursor; _ordersPresenter.Display(customer.CustomerId); this.Cursor = Cursors.Default; } }