using Newtonsoft.Json; using NLog; namespace EgwControlCenter.Core { public class ConfigManager { #region Public Constructors public ConfigManager(string appDir, string confName) { AppDir = appDir; ConfName = confName; // verifico path... if (string.IsNullOrEmpty(AppDir)) { AppDir = AppDomain.CurrentDomain.BaseDirectory; } if (File.Exists(ConfPath)) { var rawData = File.ReadAllText(ConfPath); if (!string.IsNullOrEmpty(rawData)) { CurrPatrolCont = JsonConvert.DeserializeObject(rawData) ?? new PatrolSettings(); } } } #endregion Public Constructors #region Public Properties /// /// Configurazione degli oggetti da monitorare /// public PatrolSettings CurrPatrolCont { get; set; } = new PatrolSettings(); #endregion Public Properties #region Public Methods public void SaveConfig() { var rawData = JsonConvert.SerializeObject(CurrPatrolCont, Formatting.Indented); if (rawData != null && rawData.Length > 2) { File.WriteAllText(ConfPath, rawData); } } /// /// Classe logger /// private static Logger Log = LogManager.GetCurrentClassLogger(); #endregion Public Methods #region Private Properties private string AppDir { get; set; } = ""; private string ConfName { get; set; } = ""; /// /// Path file di conf check /// private string ConfPath { get => Path.Combine(AppDir, ConfName); } #endregion Private Properties } }