Files
2025-01-07 09:36:39 +01:00

74 lines
1.9 KiB
C#

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<PatrolSettings>(rawData) ?? new PatrolSettings();
}
}
}
#endregion Public Constructors
#region Public Properties
/// <summary>
/// Configurazione degli oggetti da monitorare
/// </summary>
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);
}
}
/// <summary>
/// Classe logger
/// </summary>
private static Logger Log = LogManager.GetCurrentClassLogger();
#endregion Public Methods
#region Private Properties
private string AppDir { get; set; } = "";
private string ConfName { get; set; } = "";
/// <summary>
/// Path file di conf check
/// </summary>
private string ConfPath
{
get => Path.Combine(AppDir, ConfName);
}
#endregion Private Properties
}
}