Add Team functions

This commit is contained in:
2025-09-22 12:53:46 -04:00
parent 3daa3b81b3
commit dc83a18d76
48 changed files with 2364 additions and 633 deletions
+24 -9
View File
@@ -3,26 +3,38 @@
@using WebApp.Models
@inject AppDbContext Context
<PageTitle>Teams</PageTitle>
<PageTitle>TimeSlots</PageTitle>
<MudText Typo="Typo.h3">Teams</MudText>
<MudButton StartIcon="@Icons.Material.Filled.Create" Href="teams/create">Create New</MudButton>
<MudButton StartIcon="@Icons.Material.Filled.Assignment" Href="teams/assignment">Assignment</MudButton>
<MudButton StartIcon="@Icons.Material.Filled.Print" Href="teams/printout">Printout</MudButton>
<MudDataGrid T="Team" ServerData="ServerReload" @ref="_dataGrid" Filterable="true" RowsPerPage="25">
<MudDataGrid T="Team" ServerData="ServerReload" @ref="_dataGrid" Filterable="true" RowsPerPage="35">
<Columns>
<PropertyColumn Property="@(e => e.Name)" Title="Name" />
<PropertyColumn Property="@(e => e.Event.Name)" Title="Event" />
@* <TemplateColumn Title="Name" SortBy="e => e.FirstName" Sortable="true">
<PropertyColumn Property="@(e => e.ToString())" Title="Event" />
<TemplateColumn Title="Students">
<CellTemplate>
@context.Item.Name
@if (context.Item.OfficerRole != null)
@foreach (var student in
context.Item.Students
.OrderBy(e =>
e.EventRankings
.Find(er => er.EventDefinition == context.Item.Event)?.Rank ?? 10)
.ThenBy(s => s.Grade + s.TsaYear))
{
<MudChip T="string" Icon="@(AppIcons.OfficerRoleIcon(context.Item.OfficerRole.Value))">@context.Item.OfficerRole</MudChip>
var eventRank =
student.EventRankings
.Find(e => e.EventDefinition == context.Item.Event)?.Rank;
var color = AppIcons.RankedEventColor(eventRank ?? 0);
<MudPaper Class="d-inline-flex pa-2 mx-2 my-1" Style="@($"background:{color};")">
@student.FirstName
</MudPaper>
}
</CellTemplate>
</TemplateColumn> *@
</TemplateColumn>
@* <TemplateColumn Title="Grade (TSA Year)" SortBy="e => e.Grade" Sortable="true">
<CellTemplate>
@context.Item.Grade (@context.Item.TsaYear)
@@ -60,6 +72,9 @@
= Context.Teams
.Include(e => e.Event)
.Include(e => e.Students)
.ThenInclude(e => e.EventRankings)
.OrderBy(e => e.Event.Name)
.ThenBy(e => e.Number)
.Where(state.FilterDefinitions)
.OrderBy(state.SortDefinitions);