Exemple #1
0
        void AddChildNode(List <PermissionDto> perms, PermissionNodeViewModel currentNode, RoleDto role)
        {
            var childList = perms.FindAll(t => t.Name.StartsWith(currentNode.Id + ".") && t.Name.Replace(currentNode.Id + ".", "").Contains(".") == false);

            foreach (var c in childList)
            {
                PermissionNodeViewModel pn = new PermissionNodeViewModel {
                    Id = c.Name, Text = c.DisplayName
                };
                pn.State.Checked = HasPermission(c, role);
                AddChildNode(perms, pn, role);
                currentNode.Nodes.Add(pn);
            }
        }
Exemple #2
0
        private List <PermissionNodeViewModel> GetPermissionTree(IReadOnlyList <Roles.Dto.PermissionDto> permissions, RoleDto role)
        {
            List <PermissionNodeViewModel> list = new List <PermissionNodeViewModel>();

            List <PermissionDto> listAll = new List <PermissionDto>();

            foreach (PermissionDto p in permissions)
            {
                listAll.Add(p);
            }
            var firstLevelList = listAll.FindAll(t => t.Name.Contains(".") == false);

            foreach (var p in firstLevelList)
            {
                PermissionNodeViewModel pn = new PermissionNodeViewModel {
                    Id = p.Name, Text = p.DisplayName
                };
                pn.State.Checked = HasPermission(p, role);
                AddChildNode(listAll, pn, role);
                list.Add(pn);
            }

            return(list);
        }