@page "/customerpage"
@page "/customerpage/{id:int}"
@inject ICustomers CustomersService
@inject IState StateService
Customer
@foreach (State state in stateList)
{
}
@code {
[Parameter]
public int id { get; set; }
Customer customer = new Customer();
private List stateList = new();
private List customerList = new();
protected async override Task OnInitializedAsync()
{
var customers = await CustomersService.GetCustomersAsync();
if (customers != null)
{
customerList = customers.ToList();
}
var states = await StateService.GetStatesAsync();
if (states != null)
{
stateList = states.ToList();
}
if (id > 0)
{
customer = await CustomersService.GetCustomerAsync(id);
}
}
private void NewCustomer()
{
customer = new Customer();
StateHasChanged();
}
private async void HandleValidSubmit()
{
id = customer.Id > 0 ? customer.Id : 0;
await CustomersService.SaveCustomerAsync(id, customer);
if (id == 0)
{
var customers = await CustomersService.GetCustomersAsync();
if (customers != null)
{
customerList = customers.ToList();
StateHasChanged();
}
}
}
private async void PopulateForm(ChangeEventArgs e)
{
int custId = Convert.ToInt32(e.Value);
customer = await CustomersService.GetCustomerAsync(custId);
StateHasChanged();
}
}