private void LoadRoleLinks(XmlDocument doc, XmlNamespaceManager mgr, CollectionSorter comparer) { //===================================== // load role links //===================================== if (doc != null) { try { XmlNodeList linkNodes = doc.SelectNodes(".//om:Element[@Type='ServiceLinkDeclaration']", mgr); foreach (XmlNode linkNode in linkNodes) { OrchestrationRoleLink link = new OrchestrationRoleLink(linkNode, mgr); this.roleLinks.Add(link, true); } this.roleLinks.Sort(comparer); } catch (Exception ex) { TraceManager.SmartTrace.TraceError(ex); } } }
private void LoadOrchMessages(XmlDocument doc, XmlNamespaceManager mgr, CollectionSorter comparer) { //===================================== // load orchestration messages //===================================== if (doc != null) { try { XmlNodeList msgNodes = doc.SelectNodes(".//om:Element[@Type='MessageDeclaration']", mgr); foreach (XmlNode msgNode in msgNodes) { OrchestrationMessage msg = new OrchestrationMessage(msgNode, mgr); this.messages.Add(msg, true); } this.messages.Sort(comparer); } catch (Exception ex) { TraceManager.SmartTrace.TraceError(ex); } } }
/// <summary> /// /// </summary> /// <param name="bto"></param> /// <returns></returns> private void GetInfo(BizTalkCore.BtsOrchestration bto) { this.LoadInternalData(bto.BtsAssembly.DisplayName); //foreach (BizTalkCore.BtsOrchestration invokedOrchestration in bto.InvokedOrchestrations) //{ // this.invokedOrchestrations.Add(GetInfo(invokedOrchestration)); //} XmlDocument doc = null; XmlNamespaceManager mgr = null; CollectionSorter comparer = new CollectionSorter(CollectionSorter.SortOrder.Ascending, "Name"); LoadMainOrchDocument(ref doc, ref mgr); LoadOrchestrationVariables(doc, mgr, comparer); LoadOrchMessages(doc, mgr, comparer); LoadOrchMultipartMessages(doc, mgr); LoadOrchCorrelationTypes(doc, mgr); LoadOrchCorrelationSets(doc, mgr); LoadOrchTransforms(doc, mgr); LoadRoleLinks(doc, mgr, comparer); LoadCalledRules(doc, mgr); doc = null; mgr = null; }
private void LoadOrchestrationVariables(XmlDocument doc, XmlNamespaceManager mgr, CollectionSorter comparer) { //===================================== // load orchestration variables //===================================== if (doc != null) { try { XmlNodeList varNodes = doc.SelectNodes(".//om:Element[@Type='VariableDeclaration']", mgr); foreach (XmlNode varNode in varNodes) { OrchestrationVariable var = new OrchestrationVariable(varNode, mgr); this.variables.Add(var, true); } this.variables.Sort(comparer); } catch (Exception ex) { TraceManager.SmartTrace.TraceError(ex); } } }