[chore:] error-count overview after crafting courses
This commit is contained in:
32
crafter.cs
32
crafter.cs
@@ -166,14 +166,24 @@ public class CourseCrafter
|
||||
|
||||
public static string GenerateStatistics()
|
||||
{
|
||||
var settings = Settings.Instance;
|
||||
var students = settings.Students;
|
||||
|
||||
if (GeneratedCourses == null || GeneratedCourses.Count == 0)
|
||||
return "Keine Kurse generiert.";
|
||||
|
||||
int semesterCount = students
|
||||
.Where(s => s.Result != null)
|
||||
.Select(s => s.Result!.Count)
|
||||
.DefaultIfEmpty(0)
|
||||
.Max();
|
||||
|
||||
var sb = new System.Text.StringBuilder();
|
||||
|
||||
sb.AppendLine($"Anzahl generierter Kurse: {GeneratedCourses.Count}");
|
||||
sb.AppendLine("Übersicht:");
|
||||
|
||||
// ===== Kursübersicht =====
|
||||
var grouped = GeneratedCourses
|
||||
.GroupBy(g => new { g.Semester, g.Instance.Sport.Name })
|
||||
.OrderBy(g => g.Key.Semester)
|
||||
@@ -183,21 +193,35 @@ public class CourseCrafter
|
||||
{
|
||||
int counter = 1;
|
||||
|
||||
foreach (var course in group)
|
||||
foreach (var entry in group)
|
||||
{
|
||||
string number = counter.ToString("D2");
|
||||
int semester = group.Key.Semester + 1;
|
||||
string sportName = group.Key.Name;
|
||||
int studentCount = course.Instance.Students.Count;
|
||||
string number = counter.ToString("D2");
|
||||
int count = entry.Instance.Students.Count;
|
||||
|
||||
sb.AppendLine(
|
||||
$"Semester {semester}: {sportName} {number}: {studentCount} Schüler*innen"
|
||||
$"Semester {semester}: {sportName} {number}: {count} Schüler*innen"
|
||||
);
|
||||
|
||||
counter++;
|
||||
}
|
||||
}
|
||||
|
||||
sb.AppendLine();
|
||||
sb.AppendLine("Fehlerübersicht:");
|
||||
|
||||
// ===== Fehler pro Semester =====
|
||||
for (int sem = 0; sem < semesterCount; sem++)
|
||||
{
|
||||
int errors = students.Count(st =>
|
||||
st.Result != null &&
|
||||
st.Result.Count > sem &&
|
||||
st.Result[sem] == "Fehler");
|
||||
|
||||
sb.AppendLine($"Semester {sem + 1}: {errors} Fehler");
|
||||
}
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user