diff --git a/Core/Calculation/TeamScheduler.cs b/Core/Calculation/TeamScheduler.cs index 7026d70..f8a4ee6 100644 --- a/Core/Calculation/TeamScheduler.cs +++ b/Core/Calculation/TeamScheduler.cs @@ -14,10 +14,11 @@ public class TeamScheduler private readonly List> _scheduleSeparateTeams = []; - public TeamScheduler(IEnumerable teams, int numTimeSlots) + public TeamScheduler(IEnumerable teams, int numTimeSlots, IEnumerable allStudents) { _teamObjects = teams.ToArray(); - _studentObjects = teams.SelectMany(t => t.Students).Distinct().ToList(); + //_studentObjects = teams.SelectMany(t => t.Students).Distinct().ToList(); + _studentObjects = allStudents.ToList(); _students = Enumerable.Range(0, _studentObjects.Count).ToArray(); _teams = Enumerable.Range(0, _teamObjects.Count).ToArray(); @@ -31,9 +32,9 @@ public class TeamScheduler _scheduleSeparateTeams.Add(Tuple.Create(one,two)); } - public static TeamScheduler CreateInstance(IEnumerable teams, int numTimeSlots) + public static TeamScheduler CreateInstance(IEnumerable teams, int numTimeSlots, IEnumerable allStudents) { - return new TeamScheduler(teams, numTimeSlots); + return new TeamScheduler(teams, numTimeSlots, allStudents); } public TeamSchedulerSolution Solve() @@ -94,13 +95,14 @@ public class TeamScheduler if (cpSolverStatus is not (CpSolverStatus.Optimal or CpSolverStatus.Feasible)) return new TeamSchedulerSolution(timeSlotTeams, _studentObjects.ToArray(), cpSolverStatus.ToString()); - Debug.WriteLine($"Total cost: {solver.ObjectiveValue}\n"); + // Debug.WriteLine($"Total cost: {solver.ObjectiveValue}\n"); foreach (var s in _timeSlots) { var teams = (from t in _teams where solver.Value(x[t, s]) > 0 select _teamObjects[t]).ToArray(); timeSlotTeams[s] = teams; } + //Debug.WriteLine("No solution found."); return new TeamSchedulerSolution(timeSlotTeams, _studentObjects.ToArray(), cpSolverStatus.ToString()); } diff --git a/Tests/Calculation/TeamSchedulerTest.cs b/Tests/Calculation/TeamSchedulerTest.cs index 9d4ce8d..0acd25e 100644 --- a/Tests/Calculation/TeamSchedulerTest.cs +++ b/Tests/Calculation/TeamSchedulerTest.cs @@ -39,7 +39,7 @@ public class TeamSchedulerTest TeamSchedulerSolution solution; if (true) { - var teamScheduler = TeamScheduler.CreateInstance(teams, 3); + var teamScheduler = TeamScheduler.CreateInstance(teams, 3, students); solution = teamScheduler.Solve(); } else diff --git a/WebApp/Components/Layout/MainLayout.razor b/WebApp/Components/Layout/MainLayout.razor index bfc0951..59d5e4a 100644 --- a/WebApp/Components/Layout/MainLayout.razor +++ b/WebApp/Components/Layout/MainLayout.razor @@ -9,6 +9,14 @@ TSA Chapter Organizer - @Configuration["ChapterSettings:Name"] + + + Logged in + +
+ +
+
diff --git a/WebApp/Components/Layout/NavMenu.razor b/WebApp/Components/Layout/NavMenu.razor index 4d24058..15e20a7 100644 --- a/WebApp/Components/Layout/NavMenu.razor +++ b/WebApp/Components/Layout/NavMenu.razor @@ -20,4 +20,4 @@ Team Assignment - \ No newline at end of file + diff --git a/WebApp/Components/Pages/MeetingSchedulePages/Index.razor b/WebApp/Components/Pages/MeetingSchedulePages/Index.razor index 669bbd0..edef468 100644 --- a/WebApp/Components/Pages/MeetingSchedulePages/Index.razor +++ b/WebApp/Components/Pages/MeetingSchedulePages/Index.razor @@ -85,7 +85,7 @@ {first = false;} + Color="@color">  @student.FirstName@(overlap ? "*" : "") } @@ -264,7 +264,7 @@ { _isSolving = true; - var teamScheduler = new TeamScheduler(_scheduledTeams, _parameters.TimeSlots); + var teamScheduler = new TeamScheduler(_scheduledTeams, _parameters.TimeSlots, _students); _solution = teamScheduler.Solve(); var loe = new UnassignedStudentScheduler(_teams, _solution.TimeSlots).ScheduleStrategy(UnassignedScheduleStrategy.LevelOfEffort);