Fix for team comparison in UnassignedStudentScheduler

This commit is contained in:
2025-10-22 09:42:44 -04:00
parent d777b4f67d
commit 5708d846d1
3 changed files with 17 additions and 8 deletions
@@ -21,6 +21,7 @@
<MudButton OnClick="() => RemoveIndividual()">Remove Individual</MudButton>
<MudButton OnClick="() => RemoveLowLevelOfEffort()">Remove Low Effort</MudButton>
<MudButton OnClick="() => Invert()">Invert</MudButton>
<MudItem>@string.Join(", ", (_possibleAdditions ?? []).Select(e => e.ToString()))</MudItem>
@@ -54,7 +55,7 @@
</HeaderContent>
<RowTemplate>
<MudTd>
<MudItem>Time slot: @context</MudItem>
@{
var ol = TeamSchedulerSolution.GetStudentTeamOverlaps(context);
}
@@ -62,7 +63,7 @@
{
<MudItem>
@t.ToString() -
@string.Join(", ", t.Students.Select(s => s.FirstName + " " + (ol.Any(o => o.Item1.Equals(s)) ? "*" : "")))
@string.Join(", ", t.Students.Select(s => s.FirstName + (ol.Any(o => o.Item1.Equals(s)) ? "*" : "")))
</MudItem>
}
@* @foreach (var overlap in ol)
@@ -70,6 +71,7 @@
<MudItem>
@string.Join(", ", overlap.Item1)
</MudItem>
</MudItem>
} *@
@{ var unscheduled = TeamSchedulerSolution.GetStudentsNotInTimSlot(context, _students); }
@@ -134,6 +136,13 @@
= _requiredTeams.Where(t => t.Event.LevelOfEffort > 1);
}
private async Task Invert()
{
var rt = _requiredTeams.ToArray();
_requiredTeams
= _teams.Where(t => !rt.Contains(t));
}
protected override async Task OnInitializedAsync()
{
_parameters =