コード例 #1
0
        /// <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));
        }
コード例 #2
0
        /// <summary>
        /// 获取权限详情
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Get(int id)
        {
            PermissionOutputDto permission = PermissionBll.GetById(id).Mapper <PermissionOutputDto>();

            return(ResultData(permission));
        }