/// <summary> /// Persists Connection String information /// </summary> /// <param name="doc"></param> /// <param name="infoEvents"></param> void IDTSComponentPersist.SaveToXML(XmlDocument doc, IDTSInfoEvents infoEvents) { // Create a root node for the data XmlElement rootElement = doc.CreateElement(String.Empty, "CRMConnectionManager", String.Empty); doc.AppendChild(rootElement); XmlNode node = doc.CreateNode(XmlNodeType.Element, "AuthType", String.Empty); XmlElement XElement = node as XmlElement; XElement.InnerText = (Attribute.GetCustomAttribute(AuthType.GetType().GetField(AuthType.ToString()), typeof(DescriptionAttribute)) as DescriptionAttribute).Description; rootElement.AppendChild(node); if (!String.IsNullOrEmpty(CallerId)) { XmlNode node3 = doc.CreateNode(XmlNodeType.Element, "CallerId", String.Empty); XmlElement XElementCallerId = node3 as XmlElement; XElementCallerId.InnerText = CallerId; rootElement.AppendChild(node3); } if (TimeOut > 0) { XmlNode node3 = doc.CreateNode(XmlNodeType.Element, "TimeOut", String.Empty); XmlElement XElementTimeOut = node3 as XmlElement; XElementTimeOut.InnerText = TimeOut.ToString(); rootElement.AppendChild(node3); } if (!string.IsNullOrEmpty(Port)) { XmlNode nodeport = doc.CreateNode(XmlNodeType.Element, "Port", String.Empty); XmlElement XElementPort = nodeport as XmlElement; XElementPort.InnerText = Port.ToString(); rootElement.AppendChild(nodeport); } XmlNode nodessl = doc.CreateNode(XmlNodeType.Element, "UsesSSL", String.Empty); XmlElement XElementSSL = nodessl as XmlElement; XElementSSL.InnerText = UsesSSL.ToString(); rootElement.AppendChild(nodessl); if (!String.IsNullOrEmpty(Domain)) { XmlNode node2 = doc.CreateNode(XmlNodeType.Element, "Domain", String.Empty); XmlElement XElementDomain = node2 as XmlElement; XElementDomain.InnerText = Domain; rootElement.AppendChild(node2); } if (!String.IsNullOrEmpty(OrganizationUri)) { XmlNode node3 = doc.CreateNode(XmlNodeType.Element, "OrganizationUri", String.Empty); XmlElement XElementOrganizationUri = node3 as XmlElement; XElementOrganizationUri.InnerText = OrganizationUri; rootElement.AppendChild(node3); } if (!String.IsNullOrEmpty(HomeRealmUri)) { XmlNode node4 = doc.CreateNode(XmlNodeType.Element, "HomeRealmUri", String.Empty); XmlElement XmlElementHomeRealmUri = node4 as XmlElement; XmlElementHomeRealmUri.InnerText = HomeRealmUri; rootElement.AppendChild(node4); } if (!String.IsNullOrEmpty(UserName)) { XmlNode node5 = doc.CreateNode(XmlNodeType.Element, "UserName", String.Empty); XmlElement userName = node5 as XmlElement; userName.InnerText = UserName; rootElement.AppendChild(node5); } // Persist the Proxy password separately if (!String.IsNullOrEmpty(Password)) { XmlNode node6 = doc.CreateNode(XmlNodeType.Element, "Password", String.Empty); XmlElement pswdElement = node6 as XmlElement; rootElement.AppendChild(node6); pswdElement.InnerText = Password; XmlAttribute pwAttr = doc.CreateAttribute("Sensitive"); pwAttr.Value = "1"; pswdElement.Attributes.Append(pwAttr); } }