public virtual void SeedPrivilegesTree(RoleView view) { JsTreeNode rootNode = new JsTreeNode(Titles.All); view.PrivilegesTree.Nodes.Add(rootNode); IEnumerable<Privilege> privileges = GetAllPrivileges(); foreach (IGrouping<String, Privilege> area in privileges.GroupBy(privilege => privilege.Area)) { JsTreeNode areaNode = new JsTreeNode(area.Key); foreach (IGrouping<String, Privilege> controller in area.GroupBy(privilege => privilege.Controller).OrderBy(privilege => privilege.Key)) { JsTreeNode controllerNode = new JsTreeNode(controller.Key); foreach (IGrouping<String, Privilege> action in controller.GroupBy(privilege => privilege.Action).OrderBy(privilege => privilege.Key)) controllerNode.Nodes.Add(new JsTreeNode(action.First().Id, action.Key)); if (areaNode.Title == null) rootNode.Nodes.Add(controllerNode); else areaNode.Nodes.Add(controllerNode); } if (areaNode.Title != null) rootNode.Nodes.Add(areaNode); } }
public virtual void SeedPermissions(RoleView view) { JsTreeNode root = new JsTreeNode(Titles.All); view.Permissions.Nodes.Add(root); IEnumerable<Permission> permissions = GetAllPermissions(); foreach (IGrouping<String, Permission> area in permissions.GroupBy(permission => permission.Area)) { JsTreeNode areaNode = new JsTreeNode(area.Key); foreach (IGrouping<String, Permission> controller in area.GroupBy(permission => permission.Controller)) { JsTreeNode controllerNode = new JsTreeNode(controller.Key); foreach (Permission permission in controller) controllerNode.Nodes.Add(new JsTreeNode(permission.Id, permission.Action)); if (areaNode.Title == null) root.Nodes.Add(controllerNode); else areaNode.Nodes.Add(controllerNode); } if (areaNode.Title != null) root.Nodes.Add(areaNode); } }
public void JsTreeNode_SetsIdAndTitle() { JsTreeNode actual = new JsTreeNode(1, "Title"); Assert.Equal("Title", actual.Title); Assert.Equal(1, actual.Id); Assert.Empty(actual.Nodes); }
public void JsTreeNode_SetsTitle() { JsTreeNode actual = new JsTreeNode("Title"); Assert.Equal("Title", actual.Title); Assert.Empty(actual.Nodes); Assert.Null(actual.Id); }
private JsTree CreatePrivilegesTree(Role role) { JsTreeNode rootNode = new JsTreeNode(Titles.All); JsTree expectedTree = new JsTree(); expectedTree.Nodes.Add(rootNode); expectedTree.SelectedIds = role.RolePrivileges.Select(rolePrivilege => rolePrivilege.PrivilegeId).ToList(); IEnumerable<Privilege> allPrivileges = role .RolePrivileges .Select(rolePriv => rolePriv.Privilege) .Select(privilege => new Privilege { Id = privilege.Id, Area = ResourceProvider.GetPrivilegeAreaTitle(privilege.Area), Controller = ResourceProvider.GetPrivilegeControllerTitle(privilege.Area, privilege.Controller), Action = ResourceProvider.GetPrivilegeActionTitle(privilege.Area, privilege.Controller, privilege.Action) }); foreach (IGrouping<String, Privilege> areaPrivilege in allPrivileges.GroupBy(privilege => privilege.Area).OrderBy(privilege => privilege.Key ?? privilege.FirstOrDefault().Controller)) { JsTreeNode areaNode = new JsTreeNode(areaPrivilege.Key); foreach (IGrouping<String, Privilege> controllerPrivilege in areaPrivilege.GroupBy(privilege => privilege.Controller).OrderBy(privilege => privilege.Key)) { JsTreeNode controllerNode = new JsTreeNode(controllerPrivilege.Key); foreach (IGrouping<String, Privilege> actionPrivilege in controllerPrivilege.GroupBy(privilege => privilege.Action).OrderBy(privilege => privilege.Key)) controllerNode.Nodes.Add(new JsTreeNode(actionPrivilege.First().Id, actionPrivilege.Key)); if (areaNode.Title == null) rootNode.Nodes.Add(controllerNode); else areaNode.Nodes.Add(controllerNode); } if (areaNode.Title != null) rootNode.Nodes.Add(areaNode); } return expectedTree; }
private JsTree CreatePermissions() { JsTreeNode rootNode = new JsTreeNode(Titles.All); JsTree expectedTree = new JsTree(); expectedTree.Nodes.Add(rootNode); expectedTree.SelectedIds = role.Permissions.Select(rolePermission => rolePermission.PermissionId).ToList(); IEnumerable<Permission> permissions = role .Permissions .Select(rolePermission => rolePermission.Permission) .Select(permission => new Permission { Id = permission.Id, Area = ResourceProvider.GetPermissionAreaTitle(permission.Area), Controller = ResourceProvider.GetPermissionControllerTitle(permission.Area, permission.Controller), Action = ResourceProvider.GetPermissionActionTitle(permission.Area, permission.Controller, permission.Action) }); foreach (IGrouping<String, Permission> area in permissions.GroupBy(permission => permission.Area).OrderBy(permission => permission.Key ?? permission.FirstOrDefault().Controller)) { JsTreeNode areaNode = new JsTreeNode(area.Key); foreach (IGrouping<String, Permission> controller in area.GroupBy(permission => permission.Controller).OrderBy(permission => permission.Key)) { JsTreeNode controllerNode = new JsTreeNode(controller.Key); foreach (Permission permission in controller.OrderBy(permission => permission.Action)) controllerNode.Nodes.Add(new JsTreeNode(permission.Id, permission.Action)); if (areaNode.Title == null) rootNode.Nodes.Add(controllerNode); else areaNode.Nodes.Add(controllerNode); } if (areaNode.Title != null) rootNode.Nodes.Add(areaNode); } return expectedTree; }