Example #1
0
        /// <summary>
        /// Reload the settings from disk.
        /// </summary>
        /// <returns>True or false succeeded.</returns>
        public static bool LoadSettings()
        {
            bool result = false;

            try
            {
                string filepath = Path.Combine(path, "WinHue\\WinHueSettings.set");
                if (!File.Exists(filepath))
                {
                    return(result);
                }
                log.Debug("Trying to open settings file...");
                StreamReader sr = File.OpenText(filepath);
                log.Debug("File open.");
                string settingsString = sr.ReadToEnd();
                log.Debug($@"Loading settings : {settingsString}");
                sr.Close();
                log.Debug("Deserializing the settings file.");
                settings = JsonConvert.DeserializeObject <CustomSettings>(settingsString, new JsonSerializerSettings()
                {
                    NullValueHandling = NullValueHandling.Ignore
                });
                result = true;
            }
            catch (Exception ex)
            {
                settings = new CustomSettings();
                result   = false;
                log.Error("Error while loading the settings.", ex);
            }
            return(result);
        }
Example #2
0
        /// <summary>
        /// Save the settings to disk.
        /// </summary>
        /// <returns>True or false succeeded.</returns>
        public static bool SaveSettings()
        {
            bool ret = false;

            try
            {
                string result = JsonConvert.SerializeObject(settings, new JsonSerializerSettings()
                {
                    NullValueHandling = NullValueHandling.Ignore, Formatting = Formatting.Indented
                });
                log.Debug($@"Saving settings : {settings}");
                string filepath = Path.Combine(path, "WinHue\\WinHueSettings.set");
                if (File.Exists(filepath))
                {
                    log.Info("Backuping WinHueSettings.set file to WinHueSettings.set.bak");
                    File.Copy(filepath, filepath + ".bak", true);
                }

                if (CreateWinHueDirectory())
                {
                    File.WriteAllText(filepath, result);
                    ret = true;
                }
            }
            catch (Exception ex)
            {
                settings = new CustomSettings();
                ret      = false;
                log.Error("Error while saving the settings.", ex);
            }
            return(ret);
        }
Example #3
0
        /// <summary>
        /// Save Bridge to file.
        /// </summary>
        /// <returns>True or false on success</returns>
        public static bool SaveBridges()
        {
            bool ret = false;

            try
            {
                string result = JsonConvert.SerializeObject(bridges, new JsonSerializerSettings()
                {
                    NullValueHandling = NullValueHandling.Ignore, Formatting = Formatting.Indented
                });
                log.Debug($@"Saving bridge settings : {bridges}");
                string filepath = Path.Combine(path, "WinHue\\WinHueBridges.set");
                if (CreateWinHueDirectory())
                {
                    File.WriteAllText(filepath, result);
                    ret = true;
                }
            }
            catch (Exception ex)
            {
                settings = new CustomSettings();
                ret      = false;
                log.Error("Error while saving the bridge settings.", ex);
            }
            return(ret);
        }