示例#1
0
        /// <summary>
        /// 取得用户权限
        /// </summary>
        /// <param name="intUserid">用户ID</param>
        /// <returns></returns>
        public List <CurrentAuthorityDTO> GetUserAuthority(int intUserid)
        {
            List <CurrentAuthorityDTO> result = new List <CurrentAuthorityDTO>();
            var pp = SingleQueryObject.GetObj().master_UserInfo.AsNoTracking().Where(p => p.UserID == intUserid).FirstOrDefault();
            //var roleauth = Mapper.Map<List<CurrentUserRoleAuthority>>(pp.master_RoleInfo.SelectMany(t=>t.master_RoleAuthority).ToList());
            var custauth = Mapper.Map <List <CurrentUserCustomerAuthority> >(pp.master_UserCustomerAuthority.ToList());
            List <CurrentAuthorityDTO> TempResult = new List <CurrentAuthorityDTO>();

            //roleauth.ForEach(g =>
            //{
            //    TempResult.Add(new CurrentAuthorityDTO { StructureID = g.StructureID, BelongButton = g.RoleButtonAuthority.Value });
            //});
            custauth.ForEach(g =>
            {
                TempResult.Add(new CurrentAuthorityDTO {
                    StructureID = g.StructureID, BelongButton = g.UserButtonAuthority.Value
                });
            });
            CurrentAuthorityDTO cadto = null;

            foreach (var p in TempResult)
            {
                cadto = result.Where(g => g.StructureID == p.StructureID).FirstOrDefault();
                if (cadto == null)
                {
                    result.Add(new CurrentAuthorityDTO {
                        StructureID = p.StructureID, BelongButton = p.BelongButton
                    });
                }
                else
                {
                    cadto.BelongButton |= p.BelongButton;
                }
            }

            return(result);
        }
示例#2
0
        /// <summary>
        /// 取得角色类型权限
        /// </summary>
        /// <param name="intRoletype">角色类型</param>
        /// <returns></returns>
        public List <CurrentAuthorityDTO> GetRoleTypeAuthority(int intRoletype)
        {
            List <CurrentAuthorityDTO> result = new List <CurrentAuthorityDTO>();
            var pp                    = SingleQueryObject.GetObj().master_RoleAuthority.AsNoTracking().Where(p => p.master_RoleInfo.RoleType == intRoletype).ToList();
            var TempResult            = Mapper.Map <List <CurrentUserRoleAuthority> >(pp);
            CurrentAuthorityDTO cadto = null;

            foreach (var p in TempResult)
            {
                cadto = result.Where(g => g.StructureID == p.StructureID).FirstOrDefault();
                if (cadto == null)
                {
                    result.Add(new CurrentAuthorityDTO {
                        StructureID = p.StructureID, BelongButton = p.RoleButtonAuthority.Value
                    });
                }
                else
                {
                    cadto.BelongButton |= p.RoleButtonAuthority.Value;
                }
            }

            return(result);
        }