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 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); }