81 lines
2.1 KiB
C#
81 lines
2.1 KiB
C#
using EgwControlCenter.Core.DTO;
|
|
using Newtonsoft.Json;
|
|
using NLog;
|
|
using RestSharp;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
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
|
|
}
|
|
} |