示例#1
0
        /// <summary>
        /// 加载当前登录用户可访问的全部角色
        /// </summary>
        public List <Role> Load(QueryRoleListReq request)
        {
            var loginUser = _auth.GetCurrentUser();
            var roles     = loginUser.Roles;

            if (!string.IsNullOrEmpty(request.key))
            {
                roles = roles.Where(u => u.Name.Contains(request.key)).ToList();
            }

            return(roles);
        }
        public Response <List <Role> > Load([FromQuery] QueryRoleListReq request)
        {
            var result = new Response <List <Role> >();

            try
            {
                result.Result = _app.Load(request);
            }
            catch (Exception ex)
            {
                result.Code    = 500;
                result.Message = ex.InnerException?.Message ?? ex.Message;
            }

            return(result);
        }
示例#3
0
        /// <summary>
        /// 載入登錄使用者可以訪問的所有角色
        /// </summary>
        public string Load([FromQuery] QueryRoleListReq request)
        {
            try
            {
                var result = new Response <List <Role> >
                {
                    Result = _app.Load(request)
                };
                return(JsonHelper.Instance.Serialize(result));
            }
            catch (Exception e)
            {
                Result.Code    = 500;
                Result.Message = e.InnerException?.Message ?? e.Message;
            }

            return(JsonHelper.Instance.Serialize(Result));
        }
示例#4
0
        /// <summary>
        /// 获取所有的角色
        /// 为了控制权限,通常只用于流程实例选择执行角色,其他地方请使用Load
        /// </summary>
        public async Task <TableResp <Role> > LoadAll(QueryRoleListReq request)
        {
            var result = new TableResp <Role>();
            var objs   = UnitWork.Find <Role>(null);

            if (!string.IsNullOrEmpty(request.key))
            {
                objs = objs.Where(u => u.Name.Contains(request.key));
            }

            result.data = await objs.OrderBy(u => u.Name)
                          .Skip((request.page - 1) * request.limit)
                          .Take(request.limit).ToListAsync();

            result.count = await objs.CountAsync();

            return(result);
        }
示例#5
0
        /// <summary>
        /// 加载当前登录用户可访问的一个部门及子部门全部角色
        /// </summary>
        public TableData Load(QueryRoleListReq request)
        {
            var loginUser = AuthUtil.GetCurrentUser();

            string cascadeId = ".0.";

            if (!string.IsNullOrEmpty(request.orgId))
            {
                var org = loginUser.Orgs.SingleOrDefault(u => u.Id == request.orgId);
                cascadeId = org.CascadeId;
            }

            var ids     = loginUser.Orgs.Where(u => u.CascadeId.Contains(cascadeId)).Select(u => u.Id).ToArray();
            var roleIds = ReleManagerApp.Get(Define.ROLEORG, false, ids);

            var roles = UnitWork.Find <Role>(u => roleIds.Contains(u.Id))
                        .OrderBy(u => u.Name)
                        .Skip((request.page - 1) * request.limit)
                        .Take(request.limit);

            var records = Repository.GetCount(u => roleIds.Contains(u.Id));


            var roleViews = new List <RoleView>();

            foreach (var role in roles.ToList())
            {
                RoleView uv   = role;
                var      orgs = LoadByRole(role.Id);
                uv.Organizations   = string.Join(",", orgs.Select(u => u.Name).ToList());
                uv.OrganizationIds = string.Join(",", orgs.Select(u => u.Id).ToList());
                roleViews.Add(uv);
            }

            return(new TableData
            {
                count = records,
                data = roleViews,
            });
        }
示例#6
0
 public TableData Load([FromQuery] QueryRoleListReq request)
 {
     return(_app.Load(request));
 }
 /// <summary>
 /// 加载组织下面的所有用户
 /// </summary>
 public string Load([FromQuery] QueryRoleListReq request)
 {
     return(JsonHelper.Instance.Serialize(_app.Load(request)));
 }
示例#8
0
 public async Task <TableResp <Role> > LoadAll([FromQuery] QueryRoleListReq request)
 {
     return(await _app.LoadAll(request));
 }