Beispiel #1
0
        internal object GetData()
        {
            if (!IniFilePath.IsNullOrWhiteSpace() && File.Exists(IniFilePath))
            {
                using (ChoIniDocument iniDocument = ChoIniDocument.Load(IniFilePath))
                {
                    ChoIniSectionNode iniSectionNode = iniDocument.GetSection(IniSectionName);
                    if (iniSectionNode != null)
                    {
                        return(iniSectionNode.ToNameValueCollection());
                    }
                }
            }

            return(null);
        }
Beispiel #2
0
        public static NameValueCollection ToNameValueCollection(ChoIniSectionNode iniSectionNode)
        {
            NameValueCollection nameValueCollection = new NameValueCollection();

            if (iniSectionNode != null)
            {
                foreach (ChoIniNode iniNode in iniSectionNode)
                {
                    if (!(iniNode is ChoIniNameValueNode))
                    {
                        continue;
                    }
                    nameValueCollection.Add(((ChoIniNameValueNode)iniNode).Name, ((ChoIniNameValueNode)iniNode).Value);
                }
            }

            return(nameValueCollection);
        }
Beispiel #3
0
        internal void SaveData(object data)
        {
            if (!(data is NameValueCollection))
            {
                throw new ChoConfigurationException("Data object is not NameValueCollection object.");
            }

            NameValueCollection nameValueCollection = data as NameValueCollection;

            if (!IniFilePath.IsNullOrWhiteSpace())
            {
                if (!File.Exists(IniFilePath))
                {
                    using (File.CreateText(IniFilePath))
                    { }
                }

                using (ChoIniDocument iniDocument = new ChoIniDocument(IniFilePath))
                {
                    ChoIniSectionNode sectionNode = iniDocument.GetSection(IniSectionName);
                    if (sectionNode == null)
                    {
                        sectionNode = iniDocument.AddSection(IniSectionName);
                    }

                    sectionNode.ClearNodes();
                    foreach (string key in nameValueCollection.AllKeys)
                    {
                        sectionNode.AddNameValueNode(key, nameValueCollection[key] == null ? String.Empty : nameValueCollection[key].ToString());
                    }

                    sectionNode.AppendNewLine();

                    iniDocument.Save();
                }
            }
        }