/// <summary>
        /// Saves the provided external link definitions to the settings.
        /// </summary>
        public void Save(RepoDistSettings settings, IList <ExternalLinkDefinition> definitions)
        {
            try
            {
                string xml;
                if (definitions.Count == 0)
                {
                    xml = null;
                }
                else
                {
                    definitions.ForEach(linkDef => linkDef.RemoveEmptyFormats());

                    var sw         = new StringWriter();
                    var serializer = new XmlSerializer(typeof(List <ExternalLinkDefinition>));
                    serializer.Serialize(sw, definitions);
                    xml = sw.ToString();
                }

                var cachedSettings = new RepoDistSettings(null, settings.SettingsCache);
                cachedSettings.SetString(SettingName, xml);
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
            }
        }
        /// <summary>
        /// Saves the provided external link definitions to the settings.
        /// </summary>
        public void Save(RepoDistSettings settings, IReadOnlyList <ExternalLinkDefinition> definitions)
        {
            try
            {
                string xml;
                if (definitions.Count == 0)
                {
                    xml = null;
                }
                else
                {
                    foreach (var definition in definitions)
                    {
                        definition.RemoveEmptyFormats();
                    }

                    var sw         = new StringWriter();
                    var serializer = new XmlSerializer(typeof(List <ExternalLinkDefinition>));
                    var ns         = new XmlSerializerNamespaces();
                    ns.Add(string.Empty, string.Empty);
                    serializer.Serialize(sw, definitions.OrderBy(x => x.Name).ToList(), ns);
                    xml = sw.ToString();
                }

                var cachedSettings = new RepoDistSettings(null, settings.SettingsCache, settings.SettingLevel);
                cachedSettings.SetString(SettingName, xml);
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
            }
        }
Beispiel #3
0
        public void SaveToSettings()
        {
            if (LowerPriority != null)
            {
                LowerPriority.SaveToSettings();
            }

            string xml;

            try
            {
                if (LinkDefs.Count == 0)
                {
                    xml = null;
                }
                else
                {
                    LinkDefs.ForEach(linkDef => linkDef.RemoveEmptyFormats());

                    var sw         = new StringWriter();
                    var serializer = new XmlSerializer(typeof(List <GitExtLinkDef>));
                    serializer.Serialize(sw, LinkDefs);
                    xml = sw.ToString();
                }

                Settings.SetString("RevisionLinkDefs", xml);
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine(e);
            }
        }