/// <summary> /// Retrieve a integer setting from the config file. /// </summary> /// <param name="section">The section object</param> /// <param name="key">The value key</param> /// <returns>The required value.</returns> public static int GetIntegerSetting( SharpConfig.Section section, string key, int defaultValue = 0) { return(SectionHasKey(section, key) ? section[key].IntValue : defaultValue); }
/// <summary> /// Retrieve a string setting from the config file. /// </summary> /// <param name="section">The section object</param> /// <param name="key">The value key</param> /// <returns><The required value./returns> public static string GetStringSetting( SharpConfig.Section section, string key, string defaultValue = "") { return(SectionHasKey(section, key) ? section[key].StringValue : defaultValue); }
/// <summary> /// Retrieve a decimal setting from the config file. /// </summary> /// <param name="section">The section object</param> /// <param name="key">The value key</param> /// <returns>The required value.</returns> public static decimal GetDecimalSetting( SharpConfig.Section section, string key, decimal defaultValue = 0M) { return(SectionHasKey(section, key) ? section[key].DecimalValue : defaultValue); }
/// <summary> /// Retrieve a boolean setting from the config file. /// </summary> /// <param name="section">The section object</param> /// <param name="key">The value key</param> /// <returns>The required value.</returns> public static bool GetBooleanSetting( SharpConfig.Section section, string key, bool defaultValue = false) { return(SectionHasKey(section, key) ? section[key].BoolValue : defaultValue); }
public static bool SectionHasKey( SharpConfig.Section section, string key) { bool result = section.FirstOrDefault(x => x.Name == key) != null; return(result); }
/// <summary> /// Get the ship name from the specified config section. /// </summary> /// <param name="sectionName">The name of the section contining the ship data.</param> /// <returns>The ship name.</returns> private string GetShipNameFromConfigSection(string sectionName) { SharpConfig.Configuration config = GetConfigurationObject(); SharpConfig.Section configSection = config[sectionName]; return(GetStringSetting(configSection, "shipName")); }
public static void ReadConfigFile() { config = SharpConfig.Configuration.LoadFromFile(configFile); section = config["config"]; Template = section["Template"].StringValue; OutPutDir = section["OutPutDir"].StringValue; NameSpace = section["NameSpace"].StringValue; ClassSuffix = section["ClassSuffix"].StringValue; FileType = section["FileType"].StringValue; FileEncoding = section["FileEncoding"].StringValue; UnKnowDbType = section["UnKnowDbType"].StringValue; TableComment = section["TableComment"].BoolValue; ColumnComment = section["ColumnComment"].BoolValue; SqlserverConnectionString = section["SqlserverConnectionString"].StringValue; MysqlConnectionString = section["MysqlConnectionString"].StringValue; SqliteConnectionString = section["SqliteConnectionString"].StringValue; PostgresqlConnectionString = section["PostgresqlConnectionString"].StringValue; OracleConnectionString = section["OracleConnectionString"].StringValue; XDocument doc = XDocument.Load(ApplicationPath + "Template\\DbTypeMap.xml"); XElement DbTypeMapElement = doc.Element("DbTypeMap"); foreach (XElement element in DbTypeMapElement.Elements("Database")) //遍历数据库 { string dbProvider = element.Attribute("DbProvider").Value; string language = element.Attribute("Language").Value; string key = dbProvider + language; List <DbTypeEntity> list; if (!DbTypeDictionary.ContainsKey(key)) { list = new List <DbTypeEntity>(); DbTypeDictionary[key] = list; } else { list = DbTypeDictionary[key]; } foreach (XElement el in element.Elements("DbType")) //遍历语言转换 { string Name = el.Attribute("Name").Value; string To = el.Attribute("To").Value.Replace("<", "<").Replace(">", ">"); DbTypeEntity model = new DbTypeEntity(); model.Name = Name; model.To = To; list.Add(model); } } }
private string ReadStringFromSection(SharpConfig.Configuration Config, string Section, string Key, string DefaultValue) { if (Config[Section] != null) { SharpConfig.Section sec = Config[Section]; if (sec[Key] != null) { //return sec[Key].StringValue + (sec[Key].Comment != null ? sec[Key].Comment.Value.Value.Trim() : ""); return(sec[Key].StringValue + sec[Key].Comment); //(sec[Key].Comment != null ? sec[Key].Comment.Value.Value.Trim() : ""); } else { return(DefaultValue); } } else { return(DefaultValue); } }
/// <summary> /// Get a list of available ships from the settings. /// </summary> /// <returns>A list of available ships.</returns> public IList <ComboBoxItem> SetAvailableShips() { LoadInitialShipList(); IList <ComboBoxItem> ships = new List <ComboBoxItem>(); SharpConfig.Configuration config = GetConfigurationObject(); foreach (string shipId in settingsRef .AvailableShips .Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)) { SharpConfig.Section configSection = config[shipId]; ships.Add(new ComboBoxItem() { Text = GetStringSetting(configSection, "shipName"), Value = shipId }); } // Order the two sections separately. IList <ComboBoxItem> owned = ships .Where(x => x.Value.ToString().StartsWith("Ship ID")) .OrderBy(x => x.Text) .ToList(); IList <ComboBoxItem> initial = ships .Where(x => x.Value.ToString().StartsWith("Default")) .OrderBy(x => x.Text) .ToList(); ships = new List <ComboBoxItem>(owned.Concat(initial)); return(ships); }
/// <summary> /// Save the settings to the ini file. /// </summary> public static void SaveSettingsToIniFile() { SharpConfig.Configuration config = GetConfigurationObject(); TDSettings settings = settingsRef; SharpConfig.Section configSection = config["App"]; // Settgins used for trade route calculation. configSection["Age"].DecimalValue = settings.Age; configSection["Avoid"].StringValue = settings.Avoid ?? string.Empty; configSection["BlackMarket"].BoolValue = settings.BlackMarket; configSection["Direct"].BoolValue = settings.Direct; configSection["Demand"].DecimalValue = settings.Demand; configSection["EndJumps"].DecimalValue = settings.EndJumps; configSection["ExtraRunParams"].StringValue = settings.ExtraRunParams ?? string.Empty; configSection["GPT"].DecimalValue = settings.GPT; configSection["Hops"].DecimalValue = settings.Hops; configSection["IncludeInsurance"].BoolValue = settings.IncludeInsurance; configSection["Jumps"].DecimalValue = settings.Jumps; configSection["Limit"].DecimalValue = settings.Limit; configSection["Loop"].BoolValue = settings.Loop; configSection["LoopInt"].DecimalValue = settings.LoopInt; configSection["LSPenalty"].DecimalValue = settings.LSPenalty; configSection["Margin"].DecimalValue = settings.Margin; configSection["MarkedStations"].StringValue = settings.MarkedStations ?? string.Empty; configSection["MaxGPT"].DecimalValue = settings.MaxGPT; configSection["MaxLSDistance"].DecimalValue = settings.MaxLSDistance; configSection["NumberOfRoutes"].DecimalValue = settings.NumberOfRoutes; configSection["Planetary"].StringValue = settings.Planetary ?? string.Empty; configSection["PruneHops"].DecimalValue = settings.PruneHops; configSection["PruneScore"].DecimalValue = settings.PruneScore; configSection["Shorten"].BoolValue = settings.Shorten; configSection["ShowJumps"].BoolValue = settings.ShowJumps; configSection["ShowProgress"].BoolValue = settings.ShowProgress; configSection["StartJumps"].DecimalValue = settings.StartJumps; configSection["Stock"].DecimalValue = settings.Stock; configSection["Summary"].BoolValue = settings.Summary; configSection["Towards"].BoolValue = settings.Towards; configSection["Unique"].BoolValue = settings.Unique; configSection["Verbosity"].DecimalValue = settings.Verbosity; configSection["Via"].StringValue = settings.Via ?? string.Empty; // Commander settings configSection = config["Commander"]; configSection["CmdrName"].StringValue = settings.CmdrName ?? string.Empty; configSection["Credits"].DecimalValue = settings.Credits; configSection["RebuyPercentage"].DecimalValue = settings.RebuyPercentage; // TD Helper system settings. configSection = config["System"]; configSection["AvailableShips"].StringValue = settings.AvailableShips ?? string.Empty; configSection["CopySystemToClipboard"].BoolValue = settings.CopySystemToClipboard; configSection["DisableNetLogs"].BoolValue = settings.DisableNetLogs; configSection["DoNotUpdate"].BoolValue = settings.DoNotUpdate; configSection["HasUpdated"].BoolValue = settings.HasUpdated; configSection["ImportPath"].StringValue = settings.ImportPath ?? string.Empty; configSection["LastUsedConfig"].StringValue = settings.LastUsedConfig ?? string.Empty; configSection["Locale"].StringValue = settings.Locale ?? string.Empty; configSection["LocationChild"].StringValue = settings.LocationChild ?? string.Empty; configSection["LocationParent"].StringValue = settings.LocationParent ?? string.Empty; configSection["MiniModeOnTop"].BoolValue = settings.MiniModeOnTop; configSection["NetLogPath"].StringValue = settings.NetLogPath ?? string.Empty; configSection["PythonPath"].StringValue = settings.PythonPath ?? string.Empty; configSection["Quiet"].BoolValue = settings.Quiet; configSection["SizeChild"].StringValue = settings.SizeChild ?? string.Empty; configSection["SizeParent"].StringValue = settings.SizeParent ?? string.Empty; configSection["TDVersion"].StringValue = settings.TDVersion ?? string.Empty; configSection["TestSystems"].BoolValue = settings.TestSystems; configSection["TimeOut"].IntValue = settings.TimeOut; configSection["TreeViewFont"].StringValue = settings.TreeViewFont ?? string.Empty; configSection["UploadPath"].StringValue = settings.UploadPath ?? string.Empty; configSection = config["EDDBlink"]; configSection["SkipVend"].BoolValue = settings.SkipVend; configSection["Solo"].BoolValue = settings.Solo; // Update the current ship if required. if (!string.IsNullOrEmpty(settings.LastUsedConfig)) { string sectionName = settings.LastUsedConfig; bool hasSection = config.FirstOrDefault(x => x.Name == sectionName) != null; if (hasSection) { if (config[sectionName]["Capacity"].DecimalValue != settings.Capacity) { config[sectionName]["Capacity"].DecimalValue = settings.Capacity; } if (config[sectionName]["LadenLY"].DecimalValue != settings.LadenLY) { config[sectionName]["LadenLY"].DecimalValue = settings.LadenLY; } if (config[sectionName]["Padsizes"].StringValue != settings.Padsizes) { config[sectionName]["Padsizes"].StringValue = settings.Padsizes; } if (config[sectionName]["UnladenLY"].DecimalValue != settings.UnladenLY) { config[sectionName]["UnladenLY"].DecimalValue = settings.UnladenLY; } } else { config[sectionName]["Capacity"].DecimalValue = settings.Capacity; config[sectionName]["LadenLY"].DecimalValue = settings.LadenLY; config[sectionName]["Padsizes"].StringValue = settings.Padsizes; config[sectionName]["UnladenLY"].DecimalValue = settings.UnladenLY; } } config.SaveToFile(configFile); }
/// <summary> /// Load the setting from the inin file. /// </summary> public static void LoadSettingsFromIniFile() { if (CheckIfFileOpens(configFile)) { SharpConfig.Configuration config = GetConfigurationObject(); TDSettings settings = settingsRef; SharpConfig.Section configSection = config["App"]; settings.Age = GetDecimalSetting(configSection, "Age"); settings.Avoid = GetStringSetting(configSection, "Avoid"); settings.Demand = GetDecimalSetting(configSection, "Demand"); settings.EndJumps = GetDecimalSetting(configSection, "EndJumps"); settings.ExtraRunParams = GetStringSetting(configSection, "ExtraRunParams"); settings.GPT = GetDecimalSetting(configSection, "GPT"); settings.Hops = GetDecimalSetting(configSection, "Hops"); settings.IncludeInsurance = GetBooleanSetting(configSection, "IncludeInsurance", true); settings.Jumps = GetDecimalSetting(configSection, "Jumps"); settings.Limit = GetDecimalSetting(configSection, "Limit"); settings.Loop = GetBooleanSetting(configSection, "Loop"); settings.LoopInt = GetDecimalSetting(configSection, "LoopInt"); settings.LSPenalty = GetDecimalSetting(configSection, "LSPenalty", 12.5M); settings.Margin = GetDecimalSetting(configSection, "Margin"); settings.MarkedStations = GetStringSetting(configSection, "MarkedStations"); settings.MaxGPT = GetDecimalSetting(configSection, "MaxGPT"); settings.MaxLSDistance = GetDecimalSetting(configSection, "MaxLSDistance"); settings.Planetary = GetStringSetting(configSection, "Planetary"); settings.PruneHops = GetDecimalSetting(configSection, "PruneHops"); settings.PruneScore = GetDecimalSetting(configSection, "PruneScore"); settings.NumberOfRoutes = GetDecimalSetting(configSection, "NumberOfRoutes"); settings.ShowJumps = GetBooleanSetting(configSection, "ShowJumps"); settings.ShowProgress = GetBooleanSetting(configSection, "ShowProgress"); settings.StartJumps = GetDecimalSetting(configSection, "startJumps"); settings.Stock = GetDecimalSetting(configSection, "Stock"); settings.Summary = GetBooleanSetting(configSection, "Summary"); settings.Towards = GetBooleanSetting(configSection, "Towards"); settings.Unique = GetBooleanSetting(configSection, "Unique"); settings.Verbosity = GetDecimalSetting(configSection, "Verbosity"); settings.Via = GetStringSetting(configSection, "Via"); // Commander settings configSection = config["Commander"]; settings.CmdrName = GetStringSetting(configSection, "CmdrName"); settings.Credits = GetDecimalSetting(configSection, "Credits", 100M); settings.RebuyPercentage = GetDecimalSetting(configSection, "RebuyPercentage"); // TD Helper system settings. configSection = config["System"]; settings.AvailableShips = GetStringSetting(configSection, "AvailableShips"); settings.CopySystemToClipboard = GetBooleanSetting(configSection, "CopySystemToClipboard"); settings.DisableNetLogs = GetBooleanSetting(configSection, "DisableNetLogs"); settings.DoNotUpdate = GetBooleanSetting(configSection, "DoNotUpdate"); settings.HasUpdated = GetBooleanSetting(configSection, "HasUpdated"); settings.ImportPath = GetStringSetting(configSection, "ImportPath"); settings.Locale = GetStringSetting(configSection, "Locale"); settings.LastUsedConfig = GetStringSetting(configSection, "LastUsedConfig"); settings.LocationChild = GetStringSetting(configSection, "LocationChild"); settings.LocationParent = GetStringSetting(configSection, "LocationParent"); settings.MiniModeOnTop = GetBooleanSetting(configSection, "MiniModeOnTop"); settings.NetLogPath = GetStringSetting(configSection, "NetLogPath"); settings.PythonPath = GetStringSetting(configSection, "PythonPath"); settings.Quiet = GetBooleanSetting(configSection, "Quiet"); settings.SizeChild = GetStringSetting(configSection, "SizeChild"); settings.SizeParent = GetStringSetting(configSection, "SizeParent"); settings.TDVersion = GetStringSetting(configSection, "TDVersion"); settings.TestSystems = GetBooleanSetting(configSection, "TestSystems"); settings.TimeOut = GetIntegerSetting(configSection, "TimeOut"); settings.TreeViewFont = GetStringSetting(configSection, "TreeViewFont"); settings.UploadPath = GetStringSetting(configSection, "UploadPath"); // EDDBlink settings configSection = config["EDDBlink"]; settings.SkipVend = GetBooleanSetting(configSection, "SkipVend"); settings.Solo = GetBooleanSetting(configSection, "Solo"); // Update settings if required. if (string.IsNullOrEmpty(settings.Locale)) { // Set the locale to British Engish. settings.Locale = "en-gb"; } } }