public void ModifyFilter(TreeListNode node, FilterTreeViewModel <TEntity, TID, TUnitOfWork> viewModel)
 {
     if (node != null && node.ParentNode != null)
     {
         if (MatchHierarchy(node, viewModel.CustomFilters))
         {
             viewModel.Modify(GetRow <FilterTreeViewModel <TEntity, TID, TUnitOfWork> .FilterItem>(node));
         }
         if (MatchHierarchy(node, viewModel.Groups))
         {
             viewModel.ModifyGroup(GetRow <FilterTreeViewModel <TEntity, TID, TUnitOfWork> .FilterItem>(node));
         }
     }
 }
 public FilterPanePresenter(OfficeNavigationBar navigationBar, FilterTreeViewModel <TEntity, TID, TUnitOfWork> viewModel)
     : base(viewModel)
 {
     this.navigationBarCore = navigationBar;
     //
     if (CollectionViewModel != null)
     {
         SubscribeCollectionViewModelEvents();
     }
     if (OfficeNavigationBar != null)
     {
         BindItems();
         OfficeNavigationBar.SelectedItemChanging += navigationBar_SelectedItemChanging;
     }
 }
예제 #3
0
        public void Load()
        {
            var expression = FilterTreeViewModel <TEntity, TID, TUnitOfWork> .GetFilterExpression(ViewModel.FilterCriteria);

            var collectionViewModel = GetParentViewModel <CollectionViewModel <TEntity, TID, TUnitOfWork> >();

            if (expression != null)
            {
                foreach (TEntity entity in collectionViewModel.GetEntities(expression))
                {
                    selection.Add(GetEntityKey(entity));
                }
            }
            winExplorerView.GridControl.DataSource = collectionViewModel.GetEntities().ToList();
        }
예제 #4
0
 public FilterTreeListPresenter(TreeList treeList, FilterTreeViewModel <TEntity, TID, TUnitOfWork> viewModel)
     : base(viewModel)
 {
     this.treeListCore = treeList;
     if (CollectionViewModel != null)
     {
         SubscribeCollectionViewModelEvents();
     }
     if (treeListCore != null)
     {
         InitTreeListFocusedNodeSynchronization();
         InitTreeListNodeMenu();
         InitTreeListNodesDragDrop();
         BindTreeList();
     }
 }
 public bool PopulateFiltersMenu(DXPopupMenu nodeMenu, TreeListNode node, FilterTreeViewModel <TEntity, TID, TUnitOfWork> viewModel)
 {
     if (MatchHierarchy(node, viewModel.CustomFilters))
     {
         var newItem = new DXMenuItem();
         newItem.Caption = "New...";
         newItem.BindCommand(() => viewModel.New(), viewModel);
         nodeMenu.Items.Add(newItem);
         if (node.ParentNode != null)
         {
             var filterItem = GetRow <FilterTreeViewModel <TEntity, TID, TUnitOfWork> .FilterItem>(node);
             var editItem   = new DXMenuItem();
             editItem.Caption = "Modify...";
             editItem.BindCommand((f) => viewModel.Modify(f), viewModel, () => filterItem);
             nodeMenu.Items.Add(editItem);
             var deleteItem = new DXMenuItem();
             deleteItem.Caption = "Delete";
             deleteItem.BindCommand((f) => viewModel.Delete(f), viewModel, () => filterItem);
             nodeMenu.Items.Add(deleteItem);
         }
         return(true);
     }
     if (MatchHierarchy(node, viewModel.Groups))
     {
         var newItem = new DXMenuItem();
         newItem.Caption = "New Group...";
         newItem.BindCommand(() => viewModel.NewGroup(), viewModel);
         nodeMenu.Items.Add(newItem);
         if (node.ParentNode != null)
         {
             var filterItem = GetRow <FilterTreeViewModel <TEntity, TID, TUnitOfWork> .FilterItem>(node);
             var editItem   = new DXMenuItem();
             editItem.Caption = "Modify Group...";
             editItem.BindCommand((f) => viewModel.ModifyGroup(f), viewModel, () => filterItem);
             nodeMenu.Items.Add(editItem);
             var deleteItem = new DXMenuItem();
             deleteItem.Caption = "Delete Group";
             deleteItem.BindCommand((f) => viewModel.DeleteGroup(f), viewModel, () => filterItem);
             nodeMenu.Items.Add(deleteItem);
         }
         return(true);
     }
     return(false);
 }