Exemple #1
0
        private static XDocument CreateOldConfig(ReportingSettings reportingSettings, bool?updateGlobalWSStore, string localKeyboards,
                                                 string webonaryUser, string webonaryPass)
        {
            var settingsElem = new XElement("SIL.CoreImpl.Properties.Settings",
                                            CreateStringSettingElement("IsBTE", false),
                                            CreateStringSettingElement("CheckForBetaUpdates", false),
                                            CreateStringSettingElement("AutoCheckForUpdates", true));

            if (reportingSettings != null)
            {
                settingsElem.Add(new XElement("setting", new XAttribute("name", "Reporting"), new XAttribute("serializeAs", "Xml"),
                                              new XElement("value", XElement.Parse(XmlSerializationHelper.SerializeToString(reportingSettings)))));
            }

            // Leave this obsolete value in in the old config to test that it doesn't cause problems
            if (updateGlobalWSStore != null)
            {
                settingsElem.Add(CreateStringSettingElement("UpdateGlobalWSStore", updateGlobalWSStore));
            }

            if (localKeyboards != null)
            {
                settingsElem.Add(CreateStringSettingElement("LocalKeyboards", localKeyboards));
            }

            if (webonaryUser != null)
            {
                settingsElem.Add(CreateStringSettingElement("WebonaryUser", webonaryUser));
            }

            if (webonaryPass != null)
            {
                settingsElem.Add(CreateStringSettingElement("WebonaryPass", webonaryPass));
            }

            return(new XDocument(new XDeclaration("1.0", "utf-8", "yes"),
                                 new XElement("configuration",
                                              new XElement("configSections",
                                                           new XElement("sectionGroup", new XAttribute("name", "userSettings"),
                                                                        new XElement("section", new XAttribute("name", "SIL.CoreImpl.Properties.Settings")))),
                                              new XElement("userSettings", settingsElem))));
        }