示例#1
0
        /// <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;
            }
        }