Example #1
0
        private void DoFind()
        {
            var searchTerm = txtFind.Text;

            tvwFind.ItemsSource = null;
            if (string.IsNullOrWhiteSpace(searchTerm))
            {
                ErrorMessage.Show("Please supply a search term");
                return;
            }

            var service = new SupportService(User);
            var results = service.FindDistributionRegions(searchTerm);

            if (results.Count == 0)
            {
                InfoBox.Show("No matching regions found.", "No results", this);
                return;
            }

            var model = new ObservableCollection <DistributionRegionViewModel>(results.Select((region) => {
                var vm = new DistributionRegionViewModel(region);
                vm.LazyLoadChildren += new HierarchicalViewModelAction(vm_LazyLoadChildren);
                vm.Children.Add(new ViewModelPlaceholder("Loading..."));
                return(vm);
            }));

            tvwFind.ItemsSource = model;
        }
Example #2
0
 private void RenameRegion(DistributionRegionViewModel selected)
 {
     if (selected != null)
     {
         selected.IsRenaming = true;
     }
 }
Example #3
0
        private void AddRegion(DistributionRegionViewModel parent)
        {
            if (parent != null)
            {
                if (!parent.IsExpanded)
                {
                    parent.IsExpanded = true;
                }

                var newRegion = new DistributionRegion {
                    DistRegionName = "<New Distribution Region>", DistRegionParentID = parent.DistRegionID, DistRegionID = -1
                };
                var newVm = new DistributionRegionViewModel(newRegion);
                newVm.Parent = parent;
                parent.Children.Add(newVm);

                newVm.IsSelected = true;
                newVm.IsRenaming = true;

                RegisterPendingChange(new InsertDistributionRegionCommand(newRegion, parent.Model));
            }
            else
            {
                var newRegion = new DistributionRegion {
                    DistRegionName = "<New Distribution Region>", DistRegionParentID = 0, DistRegionID = -1
                };
                var newVm = new DistributionRegionViewModel(newRegion);
                RegionsModel.Add(newVm);

                newVm.IsSelected = true;
                newVm.IsRenaming = true;

                RegisterPendingChange(new InsertDistributionRegionCommand(newRegion, null));
            }
        }
Example #4
0
 private void RunTaxaForDistRegionReport(DistributionRegionViewModel selected)
 {
     if (selected != null)
     {
         PluginManager.Instance.RunReport(Plugin, new TaxaForDistributionRegionReport(User, selected.Model));
     }
 }
Example #5
0
        private void DeleteRegion(DistributionRegionViewModel selected)
        {
            if (selected != null)
            {
                selected.IsDeleted = true;

                selected.Traverse((child) => {
                    child.IsDeleted = true;
                });

                RegisterUniquePendingChange(new DeleteDistributionRegion(selected.Model));
            }
        }
Example #6
0
 private void ExpandAll(DistributionRegionViewModel selected)
 {
     using (new OverrideCursor(Cursors.Wait)) {
         if (selected != null)
         {
             selected.Traverse((child) => {
                 child.IsExpanded = true;
             });
         }
         else
         {
             RegionsModel.ForEach((vm) => {
                 vm.Traverse((child) => {
                     child.IsExpanded = true;
                 });
             });
         }
     }
 }
Example #7
0
        void vm_LazyLoadChildren(HierarchicalViewModelBase item)
        {
            var parent = item as DistributionRegionViewModel;

            if (parent != null)
            {
                using (new OverrideCursor(Cursors.Wait)) {
                    var service = new SupportService(User);
                    var list    = service.GetDistributionRegions(parent.DistRegionID);
                    parent.Children.Clear();
                    foreach (DistributionRegion region in list)
                    {
                        var childVm = new DistributionRegionViewModel(region);
                        childVm.Parent            = parent;
                        childVm.LazyLoadChildren += new HierarchicalViewModelAction(vm_LazyLoadChildren);
                        childVm.Children.Add(new ViewModelPlaceholder("Loading..."));
                        parent.Children.Add(childVm);
                    }
                }
            }
        }
Example #8
0
        private void LoadModel()
        {
            using (new OverrideCursor(Cursors.Wait)) {
                var service  = new SupportService(User);
                var rootList = service.GetDistributionRegions(0);
                RegionsModel = new ObservableCollection <HierarchicalViewModelBase>(rootList.Select((m) => {
                    var vm = new DistributionRegionViewModel(m);
                    vm.LazyLoadChildren += new HierarchicalViewModelAction(vm_LazyLoadChildren);
                    vm.Children.Add(new ViewModelPlaceholder("Loading..."));
                    return(vm);
                }));

                regionsNode.ItemsSource = RegionsModel;
                regionsNode.IsExpanded  = true;

                var expanded = Config.GetUser <List <String> >(User, "DistributionRegion.LastExpanded", null);
                if (expanded != null)
                {
                    ExpandParentages(RegionsModel, expanded);
                }
            }
        }