/// <summary> /// 请求 所有用户的 信息 /// </summary> /// <param name="users"></param> /// <returns></returns> public Status getAll(out List <User> users) { Dictionary <string, object> wherelist = new Dictionary <string, object>(); users = new List <User>(); PersonDAO personDao = Factory.getInstance <PersonDAO>(); Person_RoleDAO person_roleDao = Factory.getInstance <Person_RoleDAO>(); List <PersonVO> personVolist = personDao.getAll <PersonVO>(); if (personVolist == null) { return(Status.NONFOUND); } //如果角色列表找不到,返回error List <RoleForUser> roles; Status rolesForUser_Error = new RoleService().getAllForUser(out roles); if (rolesForUser_Error == Status.NONFOUND) { return(Status.NONFOUND); } foreach (PersonVO vo in personVolist) { //如果用户角色关联找不到,返回error wherelist.Clear(); wherelist.Add("personID", vo.personID); List <Person_RoleVO> person_roleVolist = person_roleDao.getAll <Person_RoleVO>(wherelist); if (person_roleVolist == null) { return(Status.DATABASE_CONTENT_ERROR); } try { users.Add(new User { userID = vo.personID, userName = vo.personName, userDepartment = vo.personDepartment, userJob = vo.personJob, //从角色列表中查询对应的角色名称 roleName = (roles.Where(role => role.roleID == person_roleVolist[0].roleID) .Select(p => p.roleName)) .ToList().First(), userLevel = vo.personLevel, userFreezeState = vo.personState }); } catch (Exception e) { Log.LogInfo("查询用户列表,填充列表", e); return(Status.SERVER_EXCEPTION); } } return(Status.SUCCESS); }
/// <summary> /// 更新时,请求 指定用户的 信息 /// </summary> /// <param name="person"></param> /// <param name="userID"></param> /// <returns></returns> public Status getOneUpdate(out UpdateUser user, int userID) { Dictionary <string, object> wherelist = new Dictionary <string, object>(); user = new UpdateUser(); PersonDAO personDao = Factory.getInstance <PersonDAO>(); Person_RoleDAO person_roleDao = Factory.getInstance <Person_RoleDAO>(); PersonVO personVo = personDao.getOne <PersonVO>(userID); if (personVo == null) { return(Status.NONFOUND); } //如果用户角色关联找不到,返回error wherelist.Clear(); wherelist.Add("personID", personVo.personID); List <Person_RoleVO> person_roleVolist = person_roleDao.getAll <Person_RoleVO>(wherelist); if (person_roleVolist == null) { return(Status.DATABASE_CONTENT_ERROR); } user.userID = personVo.personID; user.userName = personVo.personName; user.userDepartment = personVo.personDepartment; user.userJob = personVo.personJob; user.userDescription = personVo.personDescription; user.roleID = person_roleVolist[0].roleID; // 现在,用户与角色为 多对一 关系 user.userLevel = personVo.personLevel; 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); } }