Files
chapter-organizer/WebApp/Components/Features/Students/Details.razor
T
2025-12-12 12:48:44 -05:00

91 lines
3.1 KiB
Plaintext

@page "/students/details"
@attribute [Authorize]
@using Microsoft.EntityFrameworkCore
@using Core.Entities
@using Data
@inject AppDbContext context
@inject NavigationManager NavigationManager
<PageTitle>Student Details - TSA Chapter Organizer</PageTitle>
<MudText Typo="Typo.h3">Details</MudText>
<MudText Typo="Typo.h4">Student</MudText>
<MudDivider />
@if (student is null)
{
<MudText><em>Loading...</em></MudText>
}
else
{
<MudPaper Class="pa-4 mt-4">
<MudGrid>
<MudItem xs="12" sm="6" md="4">
<MudText Typo="Typo.subtitle2">First Name</MudText>
<MudText>@student.FirstName</MudText>
</MudItem>
<MudItem xs="12" sm="6" md="4">
<MudText Typo="Typo.subtitle2">Last Name</MudText>
<MudText>@student.LastName</MudText>
</MudItem>
<MudItem xs="12" sm="6" md="4">
<MudText Typo="Typo.subtitle2">Grade</MudText>
<MudText>@student.Grade</MudText>
</MudItem>
<MudItem xs="12" sm="6" md="4">
<MudText Typo="Typo.subtitle2">Email</MudText>
<MudText>@student.Email</MudText>
</MudItem>
<MudItem xs="12" sm="6" md="4">
<MudText Typo="Typo.subtitle2">Phone Number</MudText>
<MudText>@student.PhoneNumber</MudText>
</MudItem>
<MudItem xs="12" sm="6" md="4">
<MudText Typo="Typo.subtitle2">TSA Year</MudText>
<MudText>@student.TsaYear</MudText>
</MudItem>
<MudItem xs="12" sm="6" md="4">
<MudText Typo="Typo.subtitle2">State ID</MudText>
<MudText>@student.StateId</MudText>
</MudItem>
<MudItem xs="12" sm="6" md="4">
<MudText Typo="Typo.subtitle2">Regional ID</MudText>
<MudText>@student.RegionalId</MudText>
</MudItem>
<MudItem xs="12" sm="6" md="4">
<MudText Typo="Typo.subtitle2">National ID</MudText>
<MudText>@student.NationalId</MudText>
</MudItem>
<MudItem xs="12" sm="6" md="4">
<MudText Typo="Typo.subtitle2">Officer Role</MudText>
<MudText>@student.OfficerRole</MudText>
</MudItem>
</MudGrid>
</MudPaper>
<div class="mt-4">
<MudButton StartIcon="@Icons.Material.Filled.Edit" Href="@($"/students/edit?id={student.Id}&returnUrl={ReturnUrl ?? "/students"}")" Variant="Variant.Filled" Color="Color.Primary">Edit</MudButton>
<MudButton StartIcon="@Icons.Material.Filled.ArrowBack" Href="@(ReturnUrl ?? "/students")" Variant="Variant.Text">Back to List</MudButton>
</div>
}
@code {
private Student? student;
[SupplyParameterFromQuery]
private int Id { get; set; }
[SupplyParameterFromQuery]
private string? ReturnUrl { get; set; }
protected override async Task OnInitializedAsync()
{
student = await context.Students.FirstOrDefaultAsync(m => m.Id == Id);
if (student is null)
{
NavigationManager.NavigateTo("notfound");
}
}
}