示例#1
0
        /// <summary>
        ///     根据用户Id获取该用户信息
        /// </summary>
        /// <param name="input">用户Id</param>
        /// <returns></returns>
        public async Task <SystemUserDetailOutput> GetDetailByUserId(IdInput input)
        {
            //获取用户基本信息
            var userDto = (await _userInfoRepository.GetByIdAsync(input.Id)).MapTo <SystemUserOutput>();
            //转换
            var userDetailDto = userDto.MapTo <SystemUserDetailOutput>();
            //获取角色、组、岗位数据
            IList <SystemPrivilegeDetailListOutput> privilegeDetailDtos = (await
                                                                           _permissionUserLogic.GetSystemPrivilegeDetailOutputsByUserId(input)).ToList();

            //角色
            userDetailDto.Role = privilegeDetailDtos.Where(w => w.PrivilegeMaster == EnumPrivilegeMaster.角色).ToList();
            //组
            userDetailDto.Group = privilegeDetailDtos.Where(w => w.PrivilegeMaster == EnumPrivilegeMaster.组).ToList();
            //岗位
            userDetailDto.Post = privilegeDetailDtos.Where(w => w.PrivilegeMaster == EnumPrivilegeMaster.岗位).ToList();
            return(userDetailDto);
        }
示例#2
0
        /// <summary>
        ///     根据用户Id获取该用户信息
        /// </summary>
        /// <param name="input">用户Id</param>
        /// <returns></returns>
        public async Task <SystemUserDetailOutput> GetDetailByUserId(IdInput input)
        {
            //获取用户基本信息
            var userDto = (await _userInfoRepository.FindByIdAsync(input.Id)).MapTo <SystemUserOutput>();
            //转换
            var userDetailDto = userDto.MapTo <SystemUserDetailOutput>();
            //获取角色、组、岗位数据
            IList <SystemPrivilegeDetailListOutput> privilegeDetailDtos = (await
                                                                           _permissionUserLogic.GetSystemPrivilegeDetailOutputsByUserId(input)).ToList();
            var allOrgs = (await _organizationLogic.GetAllEnumerableAsync()).ToList();

            foreach (var dto in privilegeDetailDtos)
            {
                string description  = string.Empty;
                var    organization = allOrgs.FirstOrDefault(w => w.OrganizationId == dto.OrganizationId);
                if (organization != null && !organization.ParentIds.IsNullOrEmpty())
                {
                    foreach (var parent in organization.ParentIds.Split(','))
                    {
                        //查找上级
                        var dicinfo = allOrgs.FirstOrDefault(w => w.OrganizationId.ToString() == parent);
                        if (dicinfo != null)
                        {
                            description += dicinfo.Name + ">";
                        }
                    }
                    if (!description.IsNullOrEmpty())
                    {
                        description = description.TrimEnd('>');
                    }
                }
                dto.Organization = description;
            }

            //角色
            userDetailDto.Role = privilegeDetailDtos.Where(w => w.PrivilegeMaster == EnumPrivilegeMaster.角色).ToList();
            //组
            userDetailDto.Group = privilegeDetailDtos.Where(w => w.PrivilegeMaster == EnumPrivilegeMaster.组).ToList();
            //岗位
            userDetailDto.Post = privilegeDetailDtos.Where(w => w.PrivilegeMaster == EnumPrivilegeMaster.岗位).ToList();
            return(userDetailDto);
        }