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();
}
}