@page "/students/create"
@attribute [Authorize]
@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 />


<EditForm Model="Student" OnValidSubmit="OnValidSubmit" Enhance>
    <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>
    <MudButton StartIcon="@Icons.Material.Filled.ArrowBack" Href="students">Back</MudButton>
    <MudButton ButtonType="ButtonType.Submit" StartIcon="@Icons.Material.Filled.Save">Save</MudButton>
</EditForm>

@code {
    [SupplyParameterFromForm]
    private Student Student { get; set; } = new() { TsaYear = 1 };

    private void OnValidSubmit(EditContext context)
    {

        Context.Students.Add(Student);
        Context.SaveChanges();
        NavigationManager.NavigateTo("/students");
    }
}
