Beispiel #1
0
        private void getDepUsers(Department department, Action<UserInfo> afterRetrivedUserInfo)
        {
            var userXml = RootObj.DeptManager.GetDeptUsers(department.FullPath);
            XDocument.Parse(userXml)
                         .Element("Users")
                         .Descendants("User").Select(x =>
                         {
                             var acct = x.Attribute("Name").Value;
                             var userInfo =  getRtxUserInfo(acct);
                             userInfo.DepartMentFullName = department.FullPath;
                             userInfo.DepartMentName = department.Name;

                             if (afterRetrivedUserInfo != null)
                             {
                                 afterRetrivedUserInfo(userInfo);
                             }

                             return userInfo;
                         }).ToList();

            if (department.ChildDepartments != null && department.ChildDepartments.Count > 0)
            {
                department.ChildDepartments.ForEach(x =>
                                                    {
                                                        getDepUsers(x, afterRetrivedUserInfo);
                                                    });
            }
        }
Beispiel #2
0
        private List<Department> getChildDepartment(Department department)
        {
            var childDepXml = RootObj.DeptManager.GetChildDepts(department.FullPath);
            var childDeps = getXmlDepartments(childDepXml);

            if (childDeps != null)
            {
                childDeps.ForEach(x =>
                                  {
                                      x.FullPath = department.FullPath + "\\" + x.Name;
                                      x.ChildDepartments = getChildDepartment(x);
                                  });
            }

            return childDeps;
        }