コード例 #1
0
        private List <GetOrganizationUnitsAndUsersOutput> GetOrganizationUnitsAndUsersChildren(GetOrganizationUnitsAndUsersOutput item, List <GetOrganizationUnitsAndUsersOutput> output)
        {
            var data = _organizationUnitRepository.GetAll().Where(r => r.ParentId == item.OrganizationId);


            foreach (var itemc in data)
            {
                GetOrganizationUnitsAndUsersOutput list = new GetOrganizationUnitsAndUsersOutput();

                var userData = (from a in UserManager.Users
                                join b in _userOrganizationUnitRepository.GetAll().AsNoTracking() on a.Id equals b.UserId
                                where b.OrganizationUnitId == itemc.Id
                                select new OrganizationUsers
                {
                    UserId = int.Parse(a.Id.ToString()),
                    UserName = a.UserName,
                    Name = a.Name
                }).ToList();
                list.OrganizationId    = int.Parse(itemc.Id.ToString());
                list.OrganizationName  = itemc.DisplayName;
                list.OrganizationUsers = userData;
                list.Children          = GetOrganizationUnitsAndUsersChildren(list, output).ToArray();
                output.Add(list);
            }


            return(output);
        }
コード例 #2
0
        public async Task <GetOrganizationUnitsAndUsersOutput[]> GetOrganizationUnitsAndUsers()
        {
            List <GetOrganizationUnitsAndUsersOutput> output = new List <GetOrganizationUnitsAndUsersOutput>();
            var data = _organizationUnitRepository.GetAll().Where(r => r.ParentId == null);

            foreach (var item in data)
            {
                //获取组织架构下的人员
                var userData = (from a in UserManager.Users
                                join b in _userOrganizationUnitRepository.GetAll().AsNoTracking() on a.Id equals b.UserId
                                where b.OrganizationUnitId == item.Id
                                select new OrganizationUsers
                {
                    UserId = int.Parse(a.Id.ToString()),
                    UserName = a.UserName,
                    Name = a.Name
                }).ToList();

                var da = new GetOrganizationUnitsAndUsersOutput
                {
                    OrganizationUsers = userData,
                    OrganizationId    = int.Parse(item.Id.ToString()),
                    OrganizationName  = item.DisplayName
                };
                da.Children = GetOrganizationUnitsAndUsersChildren(da, new List <GetOrganizationUnitsAndUsersOutput>()).ToArray();
                output.Add(da);
            }

            return(output.ToArray());
        }