/// <summary> /// 获取该应用的权限 /// </summary> /// <param name="id"></param> /// <param name="page"></param> /// <param name="size"></param> /// <param name="kw"></param> /// <returns></returns> public ActionResult MyPermissions(Guid id, int page = 1, int size = 10, string kw = "") { Expression <Func <Permission, bool> > where; Expression <Func <Permission, bool> > where2; if (!string.IsNullOrEmpty(kw)) { where = u => u.UserPermission.All(c => c.UserInfoId != id) && u.PermissionName.Contains(kw); where2 = u => u.UserPermission.Any(c => c.UserInfoId == id) && u.PermissionName.Contains(kw); } else { where = u => u.UserPermission.All(c => c.UserInfoId != id); where2 = u => u.UserPermission.Any(c => c.UserInfoId == id); } List <PermissionOutputDto> not = PermissionBll.LoadPageEntities <int, PermissionOutputDto>(page, size, out int total1, where, u => u.Id, false).ToList(); //不属于该应用 List <Permission> list = PermissionBll.LoadPageEntities(page, size, out int total2, where2, u => u.Id, false).ToList(); //属于该应用 List <PermissionOutputDto> my = new List <PermissionOutputDto>(); foreach (var p in list) { //判断有没有临时权限 PermissionOutputDto per = p.Mapper <PermissionOutputDto>(); per.HasPermission = p.UserPermission.Any(u => u.UserInfoId.Equals(id) && u.PermissionId == p.Id && u.HasPermission); my.Add(per); } return(PageResult(new { my, not }, size, total1 >= total2 ? total1 : total2)); }
/// <summary> /// 获取权限详情 /// </summary> /// <param name="id"></param> /// <returns></returns> public ActionResult Get(int id) { PermissionOutputDto permission = PermissionBll.GetById(id).Mapper <PermissionOutputDto>(); return(ResultData(permission)); }