using System; using System.IO; using System.Text.Json; public class UserSettingsManager { public string DruckerSWS { get; set; } = ""; public string DruckerEtikett { get; set; } = ""; public decimal CopiesSWS { get; set; } = 0; //TODO: UserSetting Properties eintragen und in EinstellungsScreen abrufen. private readonly string _configPath; public UserSettingsManager() { _configPath = Path.Combine( Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Kilian Wirl GmbH", "Verwaltung", "settings.json"); } public void Load() { try { if (File.Exists(_configPath)) { string json = File.ReadAllText(_configPath); var loadedSettings = JsonSerializer.Deserialize(json); if (loadedSettings != null) { DruckerSWS = loadedSettings.DruckerSWS; DruckerEtikett = loadedSettings.DruckerEtikett; CopiesSWS = loadedSettings.CopiesSWS; // Weitere Properties hier zuweisen //TODO: Weitere Properties von oben hier zuweisen } } } catch { /* Alte Datei kaputt → Defaults */ } } public void Save() { try { Directory.CreateDirectory(Path.GetDirectoryName(_configPath)); string json = JsonSerializer.Serialize(this, new JsonSerializerOptions { WriteIndented = true }); File.WriteAllText(_configPath, json); } catch (Exception ex) { // Fallback: LocalAppData string fallbackPath = Path.Combine( Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Kilian Wirl GmbH", "Verwaltung", "settings.json"); Directory.CreateDirectory(Path.GetDirectoryName(fallbackPath)); string json = JsonSerializer.Serialize(this, new JsonSerializerOptions { WriteIndented = true }); File.WriteAllText(fallbackPath, json); } } }