using System; using System.IO; using Newtonsoft.Json; namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig { /// /// Configuration of meter /// public class MeterConfig { /// /// ctor /// public MeterConfig() { UseRegisterWatchService = false; UseErrorLogger = false; } /// public MeterConfig(String file) { var configFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), nameof(Genesis), file); if (!File.Exists(configFile)) { configFile = Path.Combine(file); if (!File.Exists(configFile)) { UseRegisterWatchService = false; UseErrorLogger = false; return; } } using (var tr = new StreamReader(configFile)) { var meterConfig = JsonConvert.DeserializeObject(tr.ReadToEnd()); UseRegisterWatchService = meterConfig.UseRegisterWatchService; RegisterWatchServiceUrl = meterConfig.RegisterWatchServiceUrl; UseMinMaxCheck = meterConfig.UseMinMaxCheck; UseErrorLogger = meterConfig.UseErrorLogger; ErrorLoggerServiceUrl = meterConfig.ErrorLoggerServiceUrl; UseCalibrationLogger = meterConfig.UseCalibrationLogger; CalibrationLoggerServiceUrl = meterConfig.CalibrationLoggerServiceUrl; } } /// /// /// public Boolean UseRegisterWatchService { get; set; } /// /// /// public String RegisterWatchServiceUrl { get; set; } /// /// /// public Boolean UseMinMaxCheck { get; set; } /// /// /// public Boolean UseErrorLogger { get; set; } /// /// /// public String ErrorLoggerServiceUrl { get; set; } /// /// /// public Boolean UseCalibrationLogger { get; set; } /// /// /// public String CalibrationLoggerServiceUrl { get; set; } } }