Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        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);
            }
        }