/// <summary> /// Parse settings /// </summary> /// <param name="text">Text of settings file</param> /// <returns>Parsed data settings</returns> protected virtual DataSettings ParseSettings(string text) { var shellSettings = new DataSettings(); if (String.IsNullOrEmpty(text)) { return(shellSettings); } var settings = new List <string>(); using (var reader = new StringReader(text)) { string str; while ((str = reader.ReadLine()) != null) { settings.Add(str); } } foreach (var setting in settings) { var separatorIndex = setting.IndexOf(separator); if (separatorIndex == -1) { continue; } string key = setting.Substring(0, separatorIndex).Trim(); string value = setting.Substring(separatorIndex + 1).Trim(); switch (key) { case "DataProvider": shellSettings.DataProvider = value; break; case "DataConnectionString": shellSettings.DataConnectionString = value; break; default: shellSettings.RawDataSettings.Add(key, value); break; } } return(shellSettings); }
/// <summary> /// Save settings to a file /// </summary> /// <param name="settings"></param> public virtual void SaveSettings(DataSettings settings) { if (settings == null) { throw new ArgumentNullException("settings"); } string filePath = Path.Combine(MapPath("~/App_Data/"), filename); if (!File.Exists(filePath)) { using (File.Create(filePath)) { //we use 'using' to close the file after it's created } } var text = ComposeSettings(settings); File.WriteAllText(filePath, text); }
/// <summary> /// Load settings /// </summary> public virtual DataSettings LoadSettings(string filePath = null, bool reloadSettings = false) { if (!reloadSettings && _dataSettings != null) { return(_dataSettings); } if (string.IsNullOrEmpty(filePath)) { filePath = Path.Combine(CommonHelper.MapPath("~/App_Data/"), filename); } if (!File.Exists(filePath)) { return(new DataSettings()); } var text = File.ReadAllText(filePath); _dataSettings = ParseSettings(text); return(_dataSettings); }
public MongoDBDataProviderManager(DataSettings settings) : base(settings) { }