Example #1
0
        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);
        }