/// <summary> /// 展示所有角色及其权限 /// </summary> /// <param name="roles"></param> /// <returns></returns> public Status getAll(out Roles roles) { roles = new Roles(); roles.roles = new List <Role>(); //获取所有的权限列表:permissionID,permissionName List <Permission> permissionlist; if (new RoleService().getPermissions(out permissionlist) != Status.SUCCESS) { return(Status.NONFOUND); } roles.permissonNum = permissionlist.Count; Dictionary <string, object> wherelist = new Dictionary <string, object>(); RoleDAO roleDao = Factory.getInstance <RoleDAO>(); PermissionDAO permissionDao = Factory.getInstance <PermissionDAO>(); Role_PermissionDAO role_PermissionDao = Factory.getInstance <Role_PermissionDAO>(); //获取所有的角色列表:roleID,roleName List <RoleVO> roleVolist = roleDao.getAll <RoleVO>(); if (roleVolist == null) { return(Status.NONFOUND); } foreach (RoleVO roleVo in roleVolist) { //初始化当前角色权限列表 int[] hasPermissionlist = new int[permissionlist.Count]; //获取角色、权限关联 wherelist.Clear(); wherelist.Add("roleID", roleVo.roleID); List <Role_PermissionVO> role_permissionVolist = role_PermissionDao.getAll <Role_PermissionVO>(wherelist); List <Permission> permissions = new List <Permission>(); if (role_permissionVolist != null) { foreach (Role_PermissionVO vo in role_permissionVolist) { for (int i = 0; i < permissionlist.Count; i++) { if (permissionlist[i].permissionID == vo.permissionID) { hasPermissionlist[i] = 1; } } } } roles.roles.Add( new Role { roleID = roleVo.roleID, roleName = roleVo.roleName, hasPermission = hasPermissionlist }); } return(Status.SUCCESS); }
private void GetDatabaseUserRolesPermissions() { Dictionary <string, object> wherelist = new Dictionary <string, object>(); //根据用户名从数据库中填充角色列表和权限列表 PersonDAO personDao = Factory.getInstance <PersonDAO>(); wherelist.Add("personName", this.userName); PersonVO personVo = personDao.getOne <PersonVO>(wherelist); if (personVo == null) { return; } this.userID = personVo.personID; Person_RoleDAO person_roleDao = Factory.getInstance <Person_RoleDAO>(); wherelist.Clear(); wherelist.Add("personID", userID); //获取用户、角色关联 List <Person_RoleVO> person_roleVolist = person_roleDao.getAll <Person_RoleVO>(wherelist); if (person_roleVolist == null) { return; } foreach (Person_RoleVO person_roleVo in person_roleVolist) { UserRole userRole = new UserRole(); userRole.roleID = person_roleVo.roleID; RoleDAO roleDAO = Factory.getInstance <RoleDAO>(); //获取角色信息 RoleVO roleVo = roleDAO.getOne <RoleVO>(userRole.roleID); if (roleVo == null) { continue; } userRole.roleID = roleVo.roleID; userRole.roleName = roleVo.roleName; Role_PermissionDAO rolePermissionDAO = Factory.getInstance <Role_PermissionDAO>(); wherelist.Clear(); wherelist.Add("roleID", roleVo.roleID); //获取角色、权限关联 List <Role_PermissionVO> role_permissionVolist = rolePermissionDAO.getAll <Role_PermissionVO>(wherelist); if (role_permissionVolist == null) { continue; } foreach (Role_PermissionVO role_permissionVo in role_permissionVolist) { RolePermission rolePermission = new RolePermission(); rolePermission.permissionID = role_permissionVo.permissionID; PermissionDAO permissionDAO = Factory.getInstance <PermissionDAO>(); //获取权限信息 PermissionVO permissionVo = permissionDAO.getOne <PermissionVO>(role_permissionVo.permissionID); if (permissionVo == null) { continue; } rolePermission.PermissionDescription = permissionVo.permissionDescription; userRole.permissions.Add(rolePermission); } roles.Add(userRole); } }