コード例 #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
        public SysRolePageViewModel()
        {
            AddCmd    = new AuthCommand(Add);
            ModifyCmd = new AuthCommand(Modify);
            DeleteCmd = new AuthCommand(ShowDeletionQuestion);

            var vms = SysPermissionProvider.GetInstance().AllSysRoles.Select(Mapper.Map <SysRoleViewModel>);

            SysRoleViewModels = new ObservableCollection <SysRoleViewModel>(vms);
        }
コード例 #3
0
        public SysOperatorViewModel()
        {
            ViewModelAttachment = new ViewModelAttachment <SysOperator>();
            SaveCmd             = new RelayCommand(Save);
            CancelCmd           = new RelayCommand(() => Close(""));

            SysOperatorRoleItems = new ObservableCollection <ComboBoxItem>();
            SysPermissionProvider.GetInstance().AllSysRoles.ForEach(r =>
                                                                    SysOperatorRoleItems.Add(new ComboBoxItem()
            {
                ID = r.RoleID, DisplayName = r.RoleName
            }));
        }
コード例 #4
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);
        }
コード例 #5
0
        public List <SysRolePermission> GetPermissionsFromUI()
        {
            var result = new List <SysRolePermission>();

            var nodes = new List <TriStateTreeViewNode>();

            TreeViewSource.ForEach(x => nodes.AddRange(x.ConvertToList()));

            var allElements = SysPermissionProvider.GetInstance().AllSysModuleElements;
            var elements    = nodes.FindAll(x => x.NodeType == ElementNodeType && x.IsChecked == true);

            foreach (var element in elements)
            {
                var permission = new SysRolePermission()
                {
                    RoleID      = RoleID,
                    ElementInfo = allElements.FirstOrDefault(x => x.ElementID == element.ID),
                };
                result.Add(permission);
            }

            var allModules = SysPermissionProvider.GetInstance().AllSysModules;
            var modules    = nodes.FindAll(x => x.NodeType == ModuleNodeType && x.IsChecked == true);

            foreach (var module in modules)
            {
                var permission = new SysRolePermission()
                {
                    RoleID     = RoleID,
                    ModuleInfo = allModules.FirstOrDefault(x => x.ModuleID == module.ID),
                };
                result.Add(permission);
            }

            return(result);
        }