@using Core.Calculation
@using WebApp.Models
@TimeSlotName
@foreach (var team in Teams.OrderByEventFormatFirst().ThenBy(e => e.ToString()))
{
var removed = !ScheduledTeams.Contains(team);
@team -
@foreach (var student in team.Students)
{
var overlap = StudentHasOverlaps(student);
var isAbsent = AbsentStudents.Contains(student);
var color = overlap ? Color.Warning : Color.Default;
var suffix = GetStudentSuffix(overlap, isAbsent);
if (student != team.Students.First())
{
,
}
@student.FirstName@suffix
}
}
@code {
[Parameter]
public string TimeSlotName { get; set; } = string.Empty;
[Parameter]
public IEnumerable Teams { get; set; } = [];
[Parameter]
public IEnumerable ScheduledTeams { get; set; } = [];
[Parameter]
public IEnumerable AbsentStudents { get; set; } = [];
[Parameter]
public Func StudentHasOverlaps { get; set; } = null!;
[Parameter]
public EventCallback OnToggleTeam { get; set; }
private string GetStudentSuffix(bool overlap, bool isAbsent)
{
var suffix = overlap ? "*" : "";
suffix += isAbsent ? " (absent)" : "";
return suffix;
}
}