CI / build-and-test (push) Canceled after 0s
Feste Score-Gewichte durch einen Einstellungsdialog ersetzt. Ein geschlossener Vorgang dämpft ab seinem Schließ-Datum den zu seinen Schlagwörtern passenden Score-Bereich (Anwesenheit/Verspätung/ Klassenbuch), ohne Schlagwort-Treffer vorsichtshalber alle drei — die faktische Fehlquote bleibt davon unberührt. Verschlechtert sich die Lage danach wieder spürbar, erscheint eine "erneut auffällig"-Warnung im bestehenden "Muster erkannt"-Panel. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
43 lines
1.8 KiB
C#
43 lines
1.8 KiB
C#
using CommunityToolkit.Mvvm.ComponentModel;
|
|
using CommunityToolkit.Mvvm.Input;
|
|
using LehrerApp.Core.Services;
|
|
|
|
namespace LehrerApp.Desktop.ViewModels.ClassTeacher;
|
|
|
|
/// <summary>Dialog zum Anpassen der <see cref="PatternScoreWeights"/> für den "Gesamtbild"-Reiter
|
|
/// der Klassenlehreransicht — ursprünglich feste Konstanten, auf Nutzerwunsch jetzt einstellbar.</summary>
|
|
public partial class PatternScoreWeightsDialogViewModel : ObservableObject
|
|
{
|
|
private readonly PatternScoreSettingsService _settings;
|
|
|
|
[ObservableProperty] private double _unexcusedDayWeight;
|
|
[ObservableProperty] private double _excusedDayWeight;
|
|
[ObservableProperty] private double _lateDayWeight;
|
|
[ObservableProperty] private double _negativeClassRegisterEntryWeight;
|
|
[ObservableProperty] private double _concerningKeywordBonus;
|
|
[ObservableProperty] private double _suspensionKeywordWeight;
|
|
|
|
public PatternScoreWeightsDialogViewModel(PatternScoreSettingsService settings)
|
|
{
|
|
_settings = settings;
|
|
var weights = settings.Load();
|
|
UnexcusedDayWeight = weights.UnexcusedDayWeight;
|
|
ExcusedDayWeight = weights.ExcusedDayWeight;
|
|
LateDayWeight = weights.LateDayWeight;
|
|
NegativeClassRegisterEntryWeight = weights.NegativeClassRegisterEntryWeight;
|
|
ConcerningKeywordBonus = weights.ConcerningKeywordBonus;
|
|
SuspensionKeywordWeight = weights.SuspensionKeywordWeight;
|
|
}
|
|
|
|
[RelayCommand]
|
|
private void Save() => _settings.Save(new PatternScoreWeights
|
|
{
|
|
UnexcusedDayWeight = UnexcusedDayWeight,
|
|
ExcusedDayWeight = ExcusedDayWeight,
|
|
LateDayWeight = LateDayWeight,
|
|
NegativeClassRegisterEntryWeight = NegativeClassRegisterEntryWeight,
|
|
ConcerningKeywordBonus = ConcerningKeywordBonus,
|
|
SuspensionKeywordWeight = SuspensionKeywordWeight,
|
|
});
|
|
}
|