示例#1
0
        /// <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);
            }
        }