Neue Funktion Schüler austragen statt aus Kurs löschen.

This commit is contained in:
2026-08-15 23:38:42 +02:00
parent 52bb9c2c2f
commit da8d2bb1da
19 changed files with 473 additions and 114 deletions
@@ -90,7 +90,7 @@ public partial class ParticipationGradeDialogViewModel : ObservableObject
{
var membership = membershipList.FirstOrDefault(e => e.StudentId == student.Id);
var relevantSessions = sessions
.Where(s => membership is null || IsMemberAtDate(membership, s.Date))
.Where(s => membership is null || GroupMembershipService.IsActiveOn(membership, s.Date))
.ToList();
var points = new List<(DateOnly Date, double Rating)>();
@@ -152,14 +152,6 @@ public partial class ParticipationGradeDialogViewModel : ObservableObject
_ => true,
};
private static bool IsMemberAtDate(GroupMembership membership, DateOnly date) => membership.Period switch
{
MembershipPeriod.H1Only => date.Month >= 8 || date.Month <= 1,
MembershipPeriod.H2Only => date.Month >= 2 && date.Month <= 7,
MembershipPeriod.Custom => (membership.JoinedAt is null || date >= membership.JoinedAt.Value)
&& (membership.LeftAt is null || date <= membership.LeftAt.Value),
_ => true,
};
}
// ── Gewichtung eines Aspekts (3.2.1) ─────────────────────────────────────────