//遍历子公司
        private void RecursivelyCompanyClass(Guid companyClassId, RadTreeNode node)
        {
            var companyClass = new CompanyClass(GlobalConfig.DB.FromType.Read);
            IList <CompanyClassInfo> childCompanyClassList = companyClass.GetChildCompanyClassList(companyClassId);

            foreach (CompanyClassInfo companyClassInfo in childCompanyClassList)
            {
                if (string.IsNullOrWhiteSpace(companyClassInfo.CompanyClassName))
                {
                    continue;
                }
                RadTreeNode childNode = CreateNode(companyClassInfo.CompanyClassName, "BusinessRelatedUnits", false, companyClassInfo.CompanyClassId.ToString());
                childNode.PostBack = true;
                node.Nodes.Add(childNode);
                RecursivelyCompanyClass(companyClassInfo.CompanyClassId, childNode);
                RepetitionCompanyCussent(companyClassInfo.CompanyClassId, childNode);
            }
        }
示例#2
0
        /// <summary>获取往来单位分类
        /// </summary>
        /// <param name="companyClassId"></param>
        /// <param name="depth"></param>
        /// <returns></returns>
        public static IList <CompanyClassInfo> RecursionCompanyClass(Guid companyClassId, int depth)
        {
            depth++;
            var companyClass = new CompanyClass(GlobalConfig.DB.FromType.Read);
            IList <CompanyClassInfo> companyClassTree = new List <CompanyClassInfo>();

            IList <CompanyClassInfo> companyClassList = companyClass.GetChildCompanyClassList(companyClassId);
            string tag = depth == 1 ? "+" : "|" + new String('-', depth * 2);

            foreach (CompanyClassInfo companyClassInfo in companyClassList)
            {
                companyClassInfo.CompanyClassName = tag + companyClassInfo.CompanyClassName;
                companyClassTree.Add(companyClassInfo);
                foreach (
                    CompanyClassInfo childCompanyClassInfo in
                    RecursionCompanyClass(companyClassInfo.CompanyClassId, depth))
                {
                    companyClassTree.Add(childCompanyClassInfo);
                }
            }
            return(companyClassTree);
        }