bool IDecisionTree.LoadDomainTemplate(IRootNode rootNode) { IPersistence persistence = Persistence.Clone(rootNode.DomainTemplate); if (persistence != null) { IDecisionTree subTree = IDecisionTreeInterface.Clone(); IBaseNode variables = subTree.LoadVariables(persistence); IDecisionTreeInterface.ImportVariables(variables); return(true); } return(false); }
private void RootNode_NodeLoaded(object sender, EventArgs e) { IBaseNode node = sender as IBaseNode; if (node != null && node.NodeType == eNodeType.VariableDefinitions) { if (Persistence != null) { int i = 0; while (i < SubModels.Keys.Count) { IPersistence persistence = getSubModel(i); if (persistence != null) { IDecisionTree subTree = IDecisionTreeInterface.Clone(); IBaseNode variables = subTree.LoadVariables(persistence); foreach (IBaseNode subModel in subTree.SubModels.Keys) { IDecisionTreeInterface.AddSubModel(subModel as IDomainObject); } IBaseNode baseNode = SubModels.Keys.ElementAt(i); List <IBaseNode> linkedVariables = LinkVariables(node, variables); foreach (IBaseNode linkedNode in linkedVariables) { baseNode.AddNode(linkedNode); } } i++; } } } }