Files
pamhagen-sysctrl/PamhagenSysCtrl/Helpers/Config.cs
T
2026-08-08 00:09:06 +02:00

34 lines
1.2 KiB
C#

using Microsoft.Extensions.Configuration;
using System.Windows;
namespace PamhagenSysCtrl.Helpers {
public class Config {
private static readonly string[] TrueValues = ["1", "true", "yes", "on"];
private readonly string FileName;
public string PlcPort = "COM1";
public string? UpdateUrl = "https://elwig.at/files/pamhagen-sysctrl/?format=json";
public bool UpdateAuto = true;
public Config(string filename) {
FileName = filename;
Read();
}
public void Read() {
try {
var config = new ConfigurationBuilder().AddIniFile(FileName).Build();
PlcPort = config["plc:port"] ?? "COM1";
UpdateUrl = config["update:url"] ?? UpdateUrl;
var updateAuto = config["update:auto"];
UpdateAuto = updateAuto == null || TrueValues.Contains(updateAuto.ToLower());
} catch (Exception exc) {
MessageBox.Show($"Die Konfigurationsdatei konnte nicht gelesen werden:\n\n{exc.Message}", "Konfigurationsdatei lesen", MessageBoxButton.OK, MessageBoxImage.Error);
Application.Current.Shutdown();
}
}
}
}