示例#1
0
        public GeneralSetting Read(String file, GeneralSettingEntryType entryType)
        {
            GeneralSetting result = null;

            if (ReadingQueries.ContainsKey(entryType))
            {
                try
                {
                    XDocument configFile  = XDocument.Load(file);
                    XElement  rootElement = configFile.XPathSelectElement("WargameModInstallerConfig/Settings/General");
                    if (rootElement != null)
                    {
                        result = ReadingQueries[entryType](rootElement);
                    }
                }
                catch (XmlException ex)
                {
                    WargameModInstaller.Common.Logging.LoggerFactory.Create(this.GetType()).Error(ex);

                    throw;
                }
            }

            return(result);
        }
        public void ReadTest()
        {
            GeneralSettingReader    target = new GeneralSettingReader();
            GeneralSettingEntryType entry  = GeneralSettingEntryType.ModName;
            string         file            = @"installerConfig.wmi";
            GeneralSetting expected        = new GeneralSetting(entry, @"My Mod");
            GeneralSetting actual;

            actual = target.Read(file, entry);
            Assert.AreEqual(expected, actual);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="entryType"></param>
        /// <returns></returns>
        public GeneralSetting GetGeneralSettings(GeneralSettingEntryType entryType)
        {
            GeneralSetting settingsValue = generalSettingsReader.Read(configFilePath, entryType);

            if (settingsValue == null)
            {
                //get a default state setting if the reader is unable to read one from the config file
                settingsValue = settingsFactory.CreateSettings <GeneralSetting>(entryType);
            }

            return(settingsValue);
        }
示例#4
0
        private GeneralSetting ReadSetting(XElement source, GeneralSettingEntryType entry, String attribute)
        {
            GeneralSetting result = null;

            var element = source.Element(entry.Name);

            if (element != null)
            {
                //First read the attribute, because an empty tag element value returns an empty string not null.
                var value = element.Attribute(attribute).ValueNullSafe() ??
                            element.ValueNullSafe();
                if (value != null)
                {
                    result = new GeneralSetting(entry, value);
                }
            }

            return(result);
        }