示例#1
0
        private void Customers_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            switch (e.Action)
            {
            case NotifyCollectionChangedAction.Add:
            {
                foreach (Customer customer in e.NewItems)
                {
                    var customerViewModel = new TreeCustomerViewModel(_dataService, customer, _customerRepository, _userRepository, _fetchFilters);
                    customerViewModel.IsLoadOnDemandEnabled = IsLoadOnDemandEnabled;
                    Customers.Add(customerViewModel);
                }
            }
            break;

            case NotifyCollectionChangedAction.Remove:
            {
                foreach (Customer customer in e.OldItems)
                {
                    var customerToRemove = Customers.SingleOrDefault(viewModel => viewModel.Customer.Id == customer.Id);
                    if (customerToRemove != null)
                    {
                        Customers.Remove(customerToRemove);
                    }
                }
            }
            break;
            }
        }
示例#2
0
        private void BindCustomerViewModels()
        {
            var customers = new ObservableCollection <TreeCustomerViewModel>();

            foreach (var customer in _customerRepository.Customers.OrderBy(c => c.CustomerName))
            {
                var customerViewModel = new TreeCustomerViewModel(_dataService, customer, _customerRepository, _userRepository, _fetchFilters)
                {
                    IsLoadOnDemandEnabled = IsLoadOnDemandEnabled
                };
                customers.Add(customerViewModel);
            }
            Customers = customers;
            //IsBusy = false;
        }