30 lines
1019 B
C#
30 lines
1019 B
C#
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;
|
|
}
|
|
}
|