public IConfigSettings Load() { string configRootDirectory = ConfigurationManager.AppSettings["ConfigRootDirectory"]; string filename = ConfigurationManager.AppSettings["ConfigFilename"]; if (string.IsNullOrEmpty(configRootDirectory)) configRootDirectory = System.IO.Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName); if (string.IsNullOrEmpty(filename)) filename = FILENAME; // If file not found, return some defaults if (!string.IsNullOrWhiteSpace(filename) && !File.Exists(filename)) { // put in some defaults... ConfigSettings cs = new ConfigSettings(); return cs; } using (StreamReader r = new StreamReader(filename)) { string json = r.ReadToEnd(); return JsonConvert.DeserializeObject<ConfigSettings>(json); } }
private void SaveText() { if (string.IsNullOrEmpty(this.RootContentDirectory) || !Directory.Exists(this.RootContentDirectory)) { Status = "Invalid Root Directory. File not saved."; return; } if (this.ZoneDefinitions.Count() == 0) { Status = "Must create at least one zone. File not saved."; return; } ConfigSettings cs = new ConfigSettings() { EnableDiagnostics = this.EnableDiagnostics, RootContentDirectory = this.RootContentDirectory, EnableTouchScreen = this.EnableTouchScreen, ShowGifFiles = this.ShowGifFiles, ShowJpgFiles = this.ShowJpgFiles, ShowMp4Files = this.ShowMp4Files, ShowPngFiles = this.ShowPngFiles, ShowWmvFiles = this.ShowWmvFiles, ZoneDefinitions = this.ZoneDefinitions.ToList(), }; Status = _configurationProvider.WriteFile(cs); }