/// <summary> /// Parse Host Instance Settings /// </summary> /// <param name="path">settings file path</param> /// <returns>host instance settings</returns> public static HostInstanceSettings ParseHostInstancesSettings(string path) { HostInstanceSettings settings; try { XmlDocument document = new XmlDocument(); document.Load(path); List <ServerSettingsContainerWithNameAttr> serverSettibgsContainerWithNameAttr = new List <ServerSettingsContainerWithNameAttr>(); foreach (XmlNode node in document.SelectNodes("/Settings/HostInstanceSettings/Host")) { List <SettingsContainerWithNameAttr> settingsContainerWithNameAttr = new List <SettingsContainerWithNameAttr>(1); foreach (XmlNode node2 in node.SelectNodes("Server")) { List <SettingElement> listSettingElement = new List <SettingElement>(1); foreach (XmlNode node3 in node2.SelectNodes("Setting")) { listSettingElement.Add(new SettingElement(node3.Attributes["Name"].Value, node3.InnerText)); } settingsContainerWithNameAttr.Add(new SettingsContainerWithNameAttr(node2.Attributes["Name"].Value, listSettingElement)); } serverSettibgsContainerWithNameAttr.Add(new ServerSettingsContainerWithNameAttr(node.Attributes["Name"].Value, settingsContainerWithNameAttr)); } settings = new HostInstanceSettings(serverSettibgsContainerWithNameAttr); } catch (Exception) { throw; } return(settings); }
/// <summary> /// Method to read and load the host instance settings section. /// </summary> /// <param name="path">BizTalk group settings file path</param> /// <returns></returns> public static HostInstanceSettings LoadBizTalkHostInstancesSettings(string path) { HostInstanceSettings settings; try { XmlDocument document = new XmlDocument(); document.Load(path); List <ServerSettingsContainerWithNameAttr> settingsContainer = new List <ServerSettingsContainerWithNameAttr>(); foreach (XmlNode HostNode in document.SelectNodes("/Settings/HostInstanceSettings/Host")) { List <SettingsContainerWithNameAttr> container = new List <SettingsContainerWithNameAttr>(1); foreach (XmlNode serverNode in HostNode.SelectNodes("Server")) { var list = new List <SettingElement>(1); foreach (XmlNode settingsNode in serverNode.SelectNodes("Setting")) { list.Add(new SettingElement(settingsNode.Attributes["Name"].Value, settingsNode.InnerText)); } container.Add(new SettingsContainerWithNameAttr(serverNode.Attributes["Name"].Value, list)); } settingsContainer.Add(new ServerSettingsContainerWithNameAttr(HostNode.Attributes["Name"].Value, container)); } settings = new HostInstanceSettings(settingsContainer); } catch (Exception exception) { throw exception; } return(settings); }
/// <summary> /// ImportBizTalkHostInstancesSettings /// </summary> /// <param name="path">Settings file path</param> private void ImportBizTalkHostInstancesSettings(SettingsWorker settingsWorker, string path, string hostToImport) { HostInstanceSettings hostInstanceSettings = Helper.BizTalkSettingsHelper.ParseHostInstancesSettings(path); foreach (var hostInstance in HostInstances) { if (hostToImport.Equals(hostInstance.HostName.ToString())) { hostInstance.ImportHostInstanceSettings(settingsWorker, hostInstanceSettings); } } }
public void ImportHostInstanceSettings(SettingsWorker settingsWorker, HostInstanceSettings settings) { var exportedSettings = new ExportedSettings(); exportedSettings.ExportedGroup = String.Format("{0}:{1}", Catalog.Instance.ToUpper(), Catalog.Database.ToUpper()); exportedSettings.HostInstanceSettings = settings; try { var hostInstanceName = String.Format("{0}:{1}", HostName, RunningServer); settingsWorker.ImportHostInstanceSettings(hostInstanceName, hostInstanceName, exportedSettings); } catch (System.Exception) { throw; } }