Files
chapter-organizer/WebApp/Components/Pages/StudentPages/Create.razor
T

58 lines
2.2 KiB
Plaintext

@page "/students/create"
@inject AppDbContext Context
@inject NavigationManager NavigationManager
<PageTitle>Create Student - TSA Chapter Organizer</PageTitle>
<MudText Typo="Typo.h3">Create</MudText>
<MudText Typo="Typo.h4">Student</MudText>
<MudDivider />
<div class="row">
<div class="col-md-4">
<EditForm method="post" Model="Student" OnValidSubmit="AddStudent" FormName="create" Enhance>
<DataAnnotationsValidator />
<ValidationSummary class="text-danger" role="alert"/>
<div class="mb-3">
<label for="firstname" class="form-label">First Name:</label>
<InputText id="firstname" @bind-Value="Student.FirstName" class="form-control" />
<ValidationMessage For="() => Student.FirstName" class="text-danger" />
</div>
<div class="mb-3">
<label for="lastname" class="form-label">Last Name:</label>
<InputText id="lastname" @bind-Value="Student.LastName" class="form-control" />
<ValidationMessage For="() => Student.LastName" class="text-danger" />
</div>
<div class="mb-3">
<label for="grade" class="form-label">Grade:</label>
<InputNumber id="grade" @bind-Value="Student.Grade" class="form-control" />
<ValidationMessage For="() => Student.Grade" class="text-danger" />
</div>
<div class="mb-3">
<label for="tsayear" class="form-label">TSA Year:</label>
<InputNumber id="tsayear" @bind-Value="Student.TsaYear" class="form-control" />
<ValidationMessage For="() => Student.TsaYear" class="text-danger" />
</div>
<button type="submit" class="btn btn-primary">Create</button>
</EditForm>
</div>
</div>
<div>
<a href="/students">Back to List</a>
</div>
@code {
[SupplyParameterFromForm]
private Student Student { get; set; } = new() { TsaYear = 1 };
private async Task AddStudent()
{
Context.Students.Add(Student);
await Context.SaveChangesAsync();
NavigationManager.NavigateTo("/students");
}
}