private TreeNode LoadTemplateGraph(TreeNode tnParent, DocModelRule docRule)
{
TreeNode tnRule = LoadTemplateRuleNode(tnParent, docRule, docRule.Name);
UpdateTemplateGraph(tnRule);
tnRule.Nodes.Clear();
foreach (DocModelRule docSub in docRule.Rules)
{
LoadTemplateGraph(tnRule, docSub);
}
if (docRule is DocModelRuleEntity)
{
DocModelRuleEntity dme = (DocModelRuleEntity)docRule;
foreach (DocTemplateDefinition dtd in dme.References)
{
TreeNode tnTemplate = LoadTemplateRuleNode(tnRule, dtd, dtd.Name);
if (dtd.Rules != null)
{
foreach (DocModelRule docTemplateRule in dtd.Rules)
{
LoadTemplateGraph(tnTemplate, docTemplateRule);
}
}
}
}
return tnRule;
}