GuestLog - Added dialog for Address search.

This commit is contained in:
2026-08-11 13:14:49 +02:00
parent 3fe558c231
commit 5c7fed2677
2 changed files with 169 additions and 17 deletions
@@ -6,32 +6,60 @@
@inject ILogger<AddressQuery> logger;
@inject IAddressQueryFactory addressQueryFactory;
@inject ISnackbar Snackbar
@inject IDialogService DialogService
<PageTitle>DEBUG - Address Query</PageTitle>
<MudText Typo="Typo.h3" GutterBottom="true">Address Search</MudText>
<MudText Typo="Typo.h3" GutterBottom="true" Class="mt-2">Address Search</MudText>
<MudTextField @ref="txtSearch" @bind-Value="SearchText" Label="Search address" Required />
<MudPaper Class="ma-2 pa-4">
<MudStack Row>
<MudTextField @ref="txtSearch" @bind-Value="SearchText" Label="Search address" Required />
<MudButton Color="Color.Primary" Variant="Variant.Filled" @onclick="btnSearchAddress" Class="mt-2">Search
</MudButton>
</MudStack>
<MudButton Color="Color.Primary" Variant="Variant.Filled" @onclick="btnSearchAddress">Search</MudButton>
<MudPaper class="mt-2 pa-4">
@if (addressResults.Count == 0)
{
<MudText Typo="Typo.body1">No results!</MudText>
}
@foreach (AddressResultDTO result in addressResults)
{
<MudItem>
<MudStack>
<MudText>Address: @result.AddressRoad , @result.HouseNumber</MudText>
<MudText>City: @result.AddressCity</MudText>
<MudText>Province: @result.AddressProvince</MudText>
<MudText>State: @result.AddressState</MudText>
<MudText>Country: @result.AddressCountry</MudText>
<MudText>ZipCode: @result.ZipCode</MudText>
</MudStack>
</MudItem>
}
</MudPaper>
</MudPaper>
<MudPaper>
@if (addressResults.Count == 0)
<MudDivider DividerType="DividerType.FullWidth" />
<MudPaper Class="ma-2 pa-4">
<MudButton OnClick="btnOpenSearchDialog" Color="Color.Primary" Variant="Variant.Filled" FullWidth>
Open Search Dialog
</MudButton>
@if (dialogSelectedAddress is not null)
{
<MudText Typo="Typo.body1">No results!</MudText>
}
@foreach (AddressResultDTO result in addressResults)
{
<MudItem>
<MudPaper class="mt-2 pa-4">
<MudText>Selected Address: </MudText>
<MudStack>
<MudText>Address: @result.AddressRoad , @result.HouseNumber</MudText>
<MudText>City: @result.AddressCity</MudText>
<MudText>Province: @result.AddressProvince</MudText>
<MudText>State: @result.AddressState</MudText>
<MudText>Country: @result.AddressCountry</MudText>
<MudText>ZipCode: @result.ZipCode</MudText>
<MudText>Address: @dialogSelectedAddress.AddressRoad , @dialogSelectedAddress.HouseNumber</MudText>
<MudText>City: @dialogSelectedAddress.AddressCity</MudText>
<MudText>Province: @dialogSelectedAddress.AddressProvince</MudText>
<MudText>State: @dialogSelectedAddress.AddressState</MudText>
<MudText>Country: @dialogSelectedAddress.AddressCountry</MudText>
<MudText>ZipCode: @dialogSelectedAddress.ZipCode</MudText>
</MudStack>
</MudItem>
</MudPaper>
}
</MudPaper>
@@ -42,6 +70,8 @@
private MudTextField<string> txtSearch = null!;
private AddressResultDTO? dialogSelectedAddress = null;
private async Task btnSearchAddress()
{
if (SearchText.Length == 0)
@@ -62,4 +92,23 @@
Snackbar.Add($"Error searching address: {ex.Message}", Severity.Error);
}
}
private async Task btnOpenSearchDialog()
{
DialogOptions options = new()
{
MaxWidth = MaxWidth.Large,
FullWidth= true,
};
var dialog = await DialogService.ShowAsync<AddressQueryDialog>("Search Address", options);
DialogResult? result = await dialog.Result;
if (result is not null && !result.Canceled)
{
AddressResultDTO? resultData = await dialog.GetReturnValueAsync<AddressResultDTO>();
dialogSelectedAddress = resultData;
}
}
}