Ejemplo n.º 1
0
 void viewModel_LazyLoadChildren(HierarchicalViewModelBase item)
 {
     var vm = item as TaxonFavoriteViewModel;
     if (vm != null) {
         if (vm.IsGroup) {
             // Load the children of this favorites group...
             var service = new SupportService(User);
             var list = service.GetTaxaFavorites(vm.FavoriteID, vm.IsGlobal);
             vm.Children.Clear();
             list.ForEach((tf) => {
                 var viewModel = new TaxonFavoriteViewModel(tf);
                 viewModel.Parent = item;
                 if (tf.NumChildren > 0) {
                     viewModel.LazyLoadChildren += new HierarchicalViewModelAction(viewModel_LazyLoadChildren);
                     viewModel.Children.Add(new ViewModelPlaceholder("Loading..."));
                 }
                 vm.Children.Add(viewModel);
             });
         } else {
             BuildTaxaChildrenViewModel(item, vm.TaxaID);
         }
     } else {
         if (item is TaxonViewModel) {
             var tvm = item as TaxonViewModel;
             BuildTaxaChildrenViewModel(item, tvm.TaxaID.Value);
         }
     }
 }
Ejemplo n.º 2
0
 internal void RenameFavoriteGroup(TaxonFavoriteViewModel taxonFavoriteViewModel)
 {
     favorites.RenameFavoriteGroup(taxonFavoriteViewModel);
 }
Ejemplo n.º 3
0
 private void ProcessRename(TaxonFavoriteViewModel viewModel, string name)
 {
     viewModel.GroupName = name;
     RegisterUniquePendingChange(new RenameFavoriteGroupCommand(viewModel.Model));
 }
Ejemplo n.º 4
0
        private void BuildFavoritesModel(HierarchicalViewModelBase root, bool global)
        {
            var service = new SupportService(User);
            var list = service.GetTopTaxaFavorites(global);

            foreach (TaxonFavorite item in list) {
                var viewModel = new TaxonFavoriteViewModel(item);
                viewModel.Parent = root;
                if (item.NumChildren > 0) {
                    viewModel.LazyLoadChildren += new HierarchicalViewModelAction(viewModel_LazyLoadChildren);
                    viewModel.Children.Add(new ViewModelPlaceholder("Loading..."));
                }
                root.Children.Add(viewModel);
                root.IsExpanded = true;
                root.Tag = global;
            }
        }
Ejemplo n.º 5
0
        internal void RenameFavoriteGroup(TaxonFavoriteViewModel taxonFavoriteViewModel)
        {
            if (taxonFavoriteViewModel == null) {
                return;
            }

            taxonFavoriteViewModel.IsRenaming = true;
        }
Ejemplo n.º 6
0
        internal void AddToFavorites(TaxonViewModel Taxon, bool global)
        {
            TaxonFavorite model = new TaxonFavorite();
            model.IsGroup = false;
            model.ChgComb = Taxon.ChgComb ?? false;
            model.ElemType = Taxon.ElemType;
            model.Epithet = Taxon.Epithet;
            model.FavoriteID = -1;
            model.FavoriteParentID = 0;
            model.IsGlobal = global;
            model.KingdomCode = Taxon.KingdomCode;
            model.NameStatus = Taxon.NameStatus;
            model.Rank = Taxon.Rank;
            model.TaxaFullName = Taxon.TaxaFullName;
            model.TaxaID = Taxon.TaxaID ?? -1;
            model.TaxaParentID = Taxon.TaxaParentID ?? -1;
            model.Unplaced = Taxon.Unplaced ?? false;
            model.Unverified = Taxon.Unverified ?? false;
            model.Username = User.Username;
            model.YearOfPub = Taxon.YearOfPub;

            LoadFavorites();

            TaxonFavoriteViewModel viewModel = new TaxonFavoriteViewModel(model);
            if (global) {
                _globalRoot.IsExpanded = true;
                _globalRoot.Children.Add(viewModel);
                viewModel.Parent = _globalRoot;
            } else {
                _userRoot.IsExpanded = true;
                _userRoot.Children.Add(viewModel);
                viewModel.Parent = _userRoot;
            }

            viewModel.IsSelected = true;

            RegisterPendingChange(new InsertTaxonFavoriteCommand(viewModel.Model));
        }
Ejemplo n.º 7
0
        internal void AddFavoriteGroup(HierarchicalViewModelBase parent)
        {
            int parentGroupID = 0;
            if (parent == null) {
                return;
            }

            bool isGlobal = false;

            if (parent is ViewModelPlaceholder) {
                isGlobal = (bool) (parent as ViewModelPlaceholder).Tag;
            } else if (parent is TaxonFavoriteViewModel) {
                var parentViewModel = parent as TaxonFavoriteViewModel;
                isGlobal = parentViewModel.IsGlobal;
                parentGroupID = parentViewModel.FavoriteID;
            }

            TaxonFavorite model = new TaxonFavorite();

            model.IsGroup = true;
            model.GroupName = "<New Folder>";
            model.IsGlobal = isGlobal;
            model.FavoriteParentID = parentGroupID;

            TaxonFavoriteViewModel viewModel = new TaxonFavoriteViewModel(model);
            viewModel.Parent = parent;

            parent.Children.Add(viewModel);

            RegisterUniquePendingChange(new InsertFavoriteGroupCommand(model));
            viewModel.IsRenaming = true;
        }