Пример #1
0
        private void BindChildrenNodes(TriStateTreeViewNode currentNode)
        {
            var allModules     = SysPermissionProvider.GetInstance().AllSysModules;
            var moduleChildren = allModules.FindAll(x => (x.Parent != null && x.Parent.ModuleID == currentNode.ID));

            foreach (var element in moduleChildren)
            {
                var subNode = new TriStateTreeViewNode(currentNode)
                {
                    ID = element.ModuleID, Name = element.ModuleName, NodeType = ModuleNodeType
                };
                BindChildrenNodes(subNode);
                currentNode.ChildrenNodes.Add(subNode);
            }

            var allElements     = SysPermissionProvider.GetInstance().AllSysModuleElements;
            var elementChildren = allElements.FindAll(x => x.ModuleID == currentNode.ID);

            foreach (var element in elementChildren)
            {
                var subNode = new TriStateTreeViewNode(currentNode)
                {
                    ID = element.ElementID, Name = element.ElementName, NodeType = ElementNodeType
                };
                currentNode.ChildrenNodes.Add(subNode);
            }
        }
Пример #2
0
        private ObservableCollection <TriStateTreeViewNode> BuildTreeViewSource()
        {
            var treeViewRoots = new ObservableCollection <TriStateTreeViewNode>();

            var rootModules = SysPermissionProvider.GetInstance().AllSysModules.FindAll(d => d.Parent == null);

            foreach (var module in rootModules)
            {
                var rootNode = new TriStateTreeViewNode(null)
                {
                    ID = module.ModuleID, Name = module.ModuleName, NodeType = ModuleNodeType
                };
                BindChildrenNodes(rootNode);
                treeViewRoots.Add(rootNode);
            }

            return(treeViewRoots);
        }