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
@@ -1,16 +1,20 @@
@using Microsoft.EntityFrameworkCore
@using WebApp.Models
@page "/students/event-ranking"
@inject AppDbContext Context
@rendermode InteractiveServer
<PageTitle>Student Event Ranks - TSA Chapter Organizer</PageTitle>
<MudText Typo="Typo.h3"><MudIcon Icon="@AppIcons.EventRank"></MudIcon> Student Event Ranks</MudText>
@if (_students == null)
{
<p><em>Loading...</em></p>
}
else
{
<MudTable Items="_students" Hover="true" Breakpoint="Breakpoint.Sm" LoadingProgressColor="Color.Info">
<HeaderContent>
@@ -23,6 +27,10 @@ else
<MudTh>4th</MudTh>
<MudTh>5th</MudTh>
<MudTh>6th</MudTh>
<MudTh>7th</MudTh>
<MudTh>8th</MudTh>
<MudTh>9th</MudTh>
<MudTh>10th</MudTh>
<MudTh></MudTh>
<MudTh>Warnings</MudTh>
</HeaderContent>
@@ -32,7 +40,7 @@ else
<MudTh>@context.Grade</MudTh>
<MudTh>@context.TsaYear</MudTh>
@for (var i = 1; i <= 6; i++)
@for (var i = 1; i <= 10; i++)
{
var st = context.EventRankings.FirstOrDefault(e => e.Rank == i);
<MudTd Class="@($"event-rank-{i})")">
@@ -40,8 +48,8 @@ else
{
<span>@st.EventDefinition.ShortName&nbsp;
@if(st.EventDefinition.EventFormat == EventFormat.Individual) { <span>ⓘ</span>}
@if(st.EventDefinition.RegionalEvent) { <span>ⓡ</span>}
@if(st.EventDefinition.OnSiteActivity) { <span>ⓐ</span>}
@if(st.EventDefinition.RegionalEvent) {<span>ⓡ</span>}
@if(st.EventDefinition.OnSiteActivity) {<span>ⓐ</span>}
</span>
}
</MudTd>
@@ -7,7 +7,7 @@
<PageTitle>Student Event Ranks - TSA Chapter Organizer</PageTitle>
<MudText Typo="Typo.h3">Student Event Ranks</MudText>
<MudText Typo="Typo.h3"><MudIcon Icon="@AppIcons.EventRank"></MudIcon> Student Event Ranks</MudText>
<div>
@if (_student == null)
@@ -8,14 +8,14 @@
<MudText Typo="Typo.h3">Students</MudText>
<MudButton StartIcon="@Icons.Material.Filled.Create" Href="students/create">Create New</MudButton>
<MudButton StartIcon="@Icons.Material.Filled.AddChart" Href="students/event-ranking">Event Rankings</MudButton>
<MudButton StartIcon="@AppIcons.EventRank" Href="students/event-ranking">Event Rankings</MudButton>
<MudDataGrid T="Student" ServerData="ServerReload" @ref="_dataGrid" Filterable="true" RowsPerPage="25">
<Columns>
@* <PropertyColumn Property="@(e => e.Name)" Title="First Name" SortBy="e => e.FirstName" /> *@
<TemplateColumn Title="Name" SortBy="e => e.FirstName" Sortable="true">
<TemplateColumn Title="Name" SortBy="e => e.LastName" Sortable="true" >
<CellTemplate>
@context.Item.Name
@context.Item.LastNameFirstName
@if (context.Item.OfficerRole != null)
{
<MudChip T="string" Icon="@(AppIcons.OfficerRoleIcon(context.Item.OfficerRole.Value))">@context.Item.OfficerRole</MudChip>
@@ -56,7 +56,9 @@
private async Task<GridData<Student>> ServerReload(GridState<Student> state)
{
var query = Context.Students.Where(state.FilterDefinitions).OrderBy(state.SortDefinitions);
var query =
Context.Students.OrderBy(e => e.LastName)
.Where(state.FilterDefinitions).OrderBy(state.SortDefinitions);
var totalItems = await query.CountAsync();
var pagedData = await query.Skip(state.Page * state.PageSize).Take(state.PageSize).ToArrayAsync();