コード例 #1
0
ファイル: UserManagerApp.cs プロジェクト: chow19/OpenAuth
        public List <User> GetUserListByOrgId(string OrgId)
        {
            var OrgIds  = OrgManagerApp.GetOrgAndChilds(OrgId).Select(t => t.Id).ToArray();
            var userIds = ReleManagerApp.Get(Define.USERORG, false, OrgIds);

            return(Repository.Find(t => userIds.Contains(t.Id)).ToList());
        }
コード例 #2
0
ファイル: UserManagerApp.cs プロジェクト: chow19/OpenAuth
        /// <summary>
        /// 加载当前登录用户可访问的一个部门及子部门全部用户
        /// </summary>
        public TableData Load(QueryUserListReq 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 userIds = ReleManagerApp.Get(Define.USERORG, false, ids);

            var users = UnitWork.Find <User>(u => userIds.Contains(u.Id))
                        .OrderBy(u => u.Name)
                        .Skip((request.page - 1) * request.limit)
                        .Take(request.limit);

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


            var userviews = new List <UserView>();

            foreach (var user in users)
            {
                UserView uv   = user;
                var      orgs = LoadByUser(user.Id);
                uv.Organizations   = string.Join(",", orgs.Select(u => u.Name).ToList());
                uv.OrganizationIds = string.Join(",", orgs.Select(u => u.Id).ToList());
                userviews.Add(uv);
            }

            return(new TableData
            {
                count = records,
                data = userviews,
            });
        }