@page "/teams/handout" @attribute [Authorize] @using Microsoft.EntityFrameworkCore @using WebApp.Models @using WebApp.Components.Shared.Components @inject IConfiguration Configuration @inject AppDbContext Context @if (_teams == null || _students == null) {

Loading...

} else { @foreach (var studentForEvents in _students) { @studentForEvents.Name @foreach (var team in studentForEvents.Teams) { @team.ToString() @if (team.Event.RegionalEvent) { Regional Event } @team.Event.EventFormat Effort: @AppIcons.LevelOfEffortIcon(@team.Event.LevelOfEffort) Activity: @team.Event.SemifinalistActivity @if (team.Event.EventFormat == EventFormat.Team) { Team Members: @string.Join(", ", team.Students.OrderByDescending(e => e.Grade + e.TsaYear).Select(e => e.FirstName)) } @team.Event.Description @if (!string.IsNullOrEmpty(team.Event.Theme)) { Theme for 2025-26: @team.Event.Theme } @if (!string.IsNullOrEmpty(team.Event.Documentation)) { Materials: @team.Event.Documentation } } } } @code { private Team[]? _teams; private int _maxTeamSize; private Student[]? _students; protected override async Task OnInitializedAsync() { _teams = await Context.Teams .Include(e => e.Event) .Include(e => e.Students) .OrderBy(e => e.Event.Name) .ThenBy(e => e.Identifier) .ToArrayAsync(); _maxTeamSize = _teams.Max(t => t.Students.Count); _students = await Context.Students .Include(e => e.Teams) .ThenInclude(e => e.Captain) .Include(e => e.EventRankings) .ThenInclude(e => e.EventDefinition) .OrderBy(e => e.FirstName).ToArrayAsync(); } }