示例#1
0
        /// <summary>
        ///   IPortable:Import
        /// </summary>
        public void ImportModule(int moduleId, string content, string version, int userId)
        {
            XmlNode node;
            var     nodes                      = Globals.GetContent(content, Portable.ModuleElement);
            var     objModules                 = new ModuleController();
            var     nameOfXmlDataProvider      = string.Empty;
            var     nameOfXmlRenderingProvider = string.Empty;

            foreach (XmlNode nodeLoopVariable in nodes.SelectSingleNode(Portable.SettingsElement).ChildNodes)
            {
                node = nodeLoopVariable;
                var settingName  = node.Attributes[Portable.NameAttribute].Value;
                var settingValue = node.Attributes[Portable.ValueAttribute].Value;
                objModules.UpdateModuleSetting(moduleId, settingName, settingValue);
                if (settingName == Setting.SourceProvider)
                {
                    nameOfXmlDataProvider = settingValue;
                }
                if (settingName == Setting.RenderingProvider)
                {
                    nameOfXmlRenderingProvider = settingValue;
                }
            }

            XmlDataProvider.Instance(nameOfXmlDataProvider).ImportProviderSettings(moduleId, nodes.SelectSingleNode("XmlDataProvider"));
            XmlRenderingProvider.Instance(nameOfXmlRenderingProvider).ImportProviderSettings(moduleId, nodes.SelectSingleNode("XmlRenderingProvider"));

            //LEGACY SUPPORT
            XmlDataProvider.Instance("HttpRequestProvider").ImportProviderSettings(moduleId, nodes.SelectSingleNode("URL"));
            XmlRenderingProvider.Instance("XslCompiledTransformProvider").ImportProviderSettings(moduleId, nodes.SelectSingleNode("XSL"));
        }
示例#2
0
        private void Page_Init(object sender, EventArgs e)
        {
            cmdUpdate.Click             += cmdUpdate_Click;
            cmdCancel.Click             += cmdCancel_Click;
            cmdClearSearchIndex.Click   += cmdClearSearchIndex_Click;
            cmdClearEnableByParam.Click += cmdClearEnableByParam_Click;


            //datasource
            foreach (var provider in XmlDataProvider.List())
            {
                _localizedString = Localization.GetString("Provider", XmlDataProvider.Instance(provider).LocalResourceFile);
                rblXmlDataProvider.Items.Add(new ListItem(_localizedString, provider));
            }
            var xmlDataProviderName = Settings[Setting.SourceProvider].DefaultIfNullOrEmpty(XmlDataProvider.NameOfDefaultProvider());

            rblXmlDataProvider.SelectedValue = xmlDataProviderName;

            //rendering
            foreach (var provider in XmlRenderingProvider.List())
            {
                _localizedString = Localization.GetString("Provider", XmlRenderingProvider.Instance(provider).LocalResourceFile);
                rblXmlRendering.Items.Add(new ListItem(_localizedString, provider));
            }
            var xmlRenderingProviderName = Settings[Setting.RenderingProvider].DefaultIfNullOrEmpty(XmlRenderingProvider.NameOfDefaultProvider());

            rblXmlRendering.SelectedValue = xmlRenderingProviderName;
        }
示例#3
0
        /// <summary>
        ///   IPortable: Export
        /// </summary>
        public string ExportModule(int moduleId)
        {
            var settings = new ModuleController().GetModuleSettings(moduleId);
            //start export
            var       strXml = new StringWriter();
            XmlWriter writer = new XmlTextWriter(strXml);

            writer.WriteStartElement(Portable.ModuleElement);
            writer.WriteStartElement(Portable.SettingsElement);

            foreach (DictionaryEntry item in settings)
            {
                writer.WriteStartElement(Portable.SettingElement);
                writer.WriteAttributeString(Portable.NameAttribute, Convert.ToString(item.Key));
                writer.WriteAttributeString(Portable.ValueAttribute, Convert.ToString(item.Value));
                writer.WriteEndElement();
            }
            writer.WriteEndElement();
            writer.WriteStartElement("XmlDataProvider");
            var nameOfSourceProvider = settings[Setting.SourceProvider].ToString();

            writer.WriteAttributeString(Portable.NameAttribute, nameOfSourceProvider);
            XmlDataProvider.Instance(nameOfSourceProvider).ExportProviderSettings(moduleId, writer);
            writer.WriteEndElement();
            writer.WriteStartElement("XmlRenderingProvider");
            var nameOfRenderingProvider = settings[Setting.RenderingProvider].ToString();

            writer.WriteAttributeString(Portable.NameAttribute, nameOfRenderingProvider);
            XmlRenderingProvider.Instance(nameOfRenderingProvider).ExportProviderSettings(moduleId, writer);
            writer.WriteEndElement();
            writer.WriteEndElement();
            writer.Close();

            return(strXml.ToString());
        }
示例#4
0
        private void LoadXmlRenderingSettingsControl()
        {
            var providername = rblXmlRendering.SelectedValue;

            if (string.IsNullOrEmpty(providername))
            {
                return;
            }
            var provider = XmlRenderingProvider.Instance(providername);

            if (provider == null)
            {
                XmlRenderingPlaceHolder.Controls.Add(new LiteralControl(string.Format("System was not able to load Settings Control for {0}", providername)));
            }
            else
            {
                var loadControl1 = LoadControl(provider.SettingsControlPath());
                _renderingSettings = (BaseSourceSettings)loadControl1;
                _renderingSettings.ModuleContext = ModuleContext;
                XmlRenderingPlaceHolder.Controls.Add(_renderingSettings);
                _renderingSettings.LoadSettings();
            }
        }