using CommunityToolkit.Mvvm.ComponentModel; namespace LehrerApp.Desktop.ViewModels.Settings; public partial class CompetencyCatalogCopyTargetViewModel : ObservableObject { [ObservableProperty] private int _targetGradeLevel; [ObservableProperty] private string _error = ""; public string SourceLabel { get; } public int SourceGradeLevel { get; } public CompetencyCatalogCopyTargetViewModel(string subjectName, int sourceGradeLevel) { SourceGradeLevel = sourceGradeLevel; SourceLabel = $"{subjectName} · Klassenstufe {sourceGradeLevel}"; _targetGradeLevel = sourceGradeLevel < 13 ? sourceGradeLevel + 1 : sourceGradeLevel - 1; } public bool Validate() { Error = TargetGradeLevel == SourceGradeLevel ? "Quell- und Zielklassenstufe müssen verschieden sein." : TargetGradeLevel is < 1 or > 13 ? "Die Klassenstufe muss zwischen 1 und 13 liegen." : ""; return Error.Length == 0; } }