57 lines
2.2 KiB
Plaintext
57 lines
2.2 KiB
Plaintext
@page "/students/create"
|
|
@attribute [Authorize]
|
|
@using WebApp.Components.Shared.Components
|
|
@inject AppDbContext Context
|
|
@inject NavigationManager NavigationManager
|
|
|
|
<PageHeader
|
|
Title="Create"
|
|
Subtitle="Student"
|
|
ShowBackButton="true"
|
|
BackButtonUrl="/students" />
|
|
|
|
<EditForm id="create-student-form" Model="Student" OnValidSubmit="OnValidSubmit" Enhance>
|
|
<FormChangeTracker @ref="_formChangeTracker" />
|
|
<AntiforgeryToken />
|
|
<DataAnnotationsValidator />
|
|
<MudGrid>
|
|
<MudItem xs="12" sm="7">
|
|
<MudPaper Class="pa-4">
|
|
<MudTextField T="string" Label="First Name" @bind-Value="Student.FirstName" For="@(() => Student.FirstName)"></MudTextField>
|
|
<MudTextField T="string" Label="Last Name" @bind-Value="Student.LastName" For="@(() => Student.LastName)"></MudTextField>
|
|
<MudTextField T="string" Label="Email Adress" @bind-Value="Student.Email" For="@(() => Student.Email)"></MudTextField>
|
|
<MudTextField T="string" Label="Phone Number" @bind-Value="Student.PhoneNumber" For="@(() => Student.PhoneNumber)"></MudTextField>
|
|
<MudTextField T="int" Label="Grade" @bind-Value="Student.Grade" For="@(() => Student.Grade)"></MudTextField>
|
|
<MudTextField T="int" Label="TSA Year" @bind-Value="Student.TsaYear" For="@(() => Student.TsaYear)"></MudTextField>
|
|
</MudPaper>
|
|
</MudItem>
|
|
</MudGrid>
|
|
</EditForm>
|
|
|
|
<FormActions>
|
|
<MudButton ButtonType="ButtonType.Submit" Variant="Variant.Filled" Color="Color.Primary" Form="create-student-form">Create</MudButton>
|
|
<MudButton OnClick="HandleCancel" Variant="Variant.Text">Cancel</MudButton>
|
|
</FormActions>
|
|
|
|
@code {
|
|
[SupplyParameterFromForm]
|
|
private Student Student { get; set; } = new() { TsaYear = 1 };
|
|
|
|
private FormChangeTracker? _formChangeTracker;
|
|
|
|
private void OnValidSubmit(EditContext context)
|
|
{
|
|
_formChangeTracker?.AllowNavigation();
|
|
|
|
Context.Students.Add(Student);
|
|
Context.SaveChanges();
|
|
NavigationManager.NavigateTo("/students");
|
|
}
|
|
|
|
private void HandleCancel()
|
|
{
|
|
_formChangeTracker?.AllowNavigation();
|
|
NavigationManager.NavigateTo("/students");
|
|
}
|
|
}
|