/// <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); }
/// <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); }