66 lines
1.7 KiB
Plaintext
66 lines
1.7 KiB
Plaintext
@page "/contacts"
|
|
@using Gremlin_BlazorServer.Services;
|
|
@using Gremlin_BlazorServer.Models;
|
|
|
|
<PageTitle>Contacts</PageTitle>
|
|
|
|
<h1>Contacts in Regulus</h1>
|
|
|
|
<p>Hier werden die Daten aus der MariaDB geladen und angezeigt.</p>
|
|
|
|
<div class="text-center bg-blue-100">
|
|
<input class="border-4 w-1/3 rounded m-6 p-6 h-8
|
|
border-blue-300" @bind-value="searchContact"
|
|
@bind-value:event="oninput" placeholder="Search by LastName"
|
|
@onchange="SearchContact_OnChange"/>
|
|
</div>
|
|
|
|
@if (!filteredContacts.Any())
|
|
{
|
|
<p><em>Loading contacts...</em></p>
|
|
}
|
|
else
|
|
{
|
|
<table class="table">
|
|
<thead>
|
|
<tr>
|
|
<th>ContactID</th>
|
|
<th>AccountID</th>
|
|
<th>FirstName</th>
|
|
<th>LastName</th>
|
|
<th>Gender</th>
|
|
<th>EMail</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach (Contact contact in filteredContacts)
|
|
{
|
|
<tr>
|
|
<td>@contact.ContactId</td>
|
|
<td>@contact.AccountId</td>
|
|
<td>@contact.FirstName</td>
|
|
<td>@contact.LastName</td>
|
|
<td>@contact.Gender</td>
|
|
<td>@contact.EMail</td>
|
|
</tr>
|
|
}
|
|
</tbody>
|
|
</table>
|
|
}
|
|
|
|
@code {
|
|
public string searchContact = "";
|
|
private List<Contact> allContacts = new();
|
|
private List<Contact> filteredContacts = new();
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
allContacts = await DataAccessService.GetContactsFromDb("");
|
|
}
|
|
|
|
private void SearchContact_OnChange()
|
|
{
|
|
filteredContacts = allContacts.Where(c => c.LastName.ToLower().Contains(searchContact.ToLower())).ToList();
|
|
}
|
|
}
|