using System.Text.Json; namespace LehrerApp.Core.Services; internal class WorkloadSettingsConfig { public double RequiredWeeklyHours { get; set; } } /// Pflichtstundenzahl pro Woche für den Ist-Soll-Abgleich in der Arbeitszeitauswertung (6.3.2). public class WorkloadSettingsService { private readonly string _configPath; private WorkloadSettingsConfig _config; public double RequiredWeeklyHours => _config.RequiredWeeklyHours; public WorkloadSettingsService(string appDataPath) { _configPath = Path.Combine(appDataPath, "workloadsettings.json"); _config = Load(); } public void SetRequiredWeeklyHours(double hours) { _config.RequiredWeeklyHours = hours; File.WriteAllText(_configPath, JsonSerializer.Serialize(_config)); } private WorkloadSettingsConfig Load() { try { if (File.Exists(_configPath)) return JsonSerializer.Deserialize(File.ReadAllText(_configPath)) ?? new WorkloadSettingsConfig(); } catch { /* beschädigte Konfiguration -> Standardwert */ } return new WorkloadSettingsConfig(); } }