@attribute [Route($"{GuestConsts.Page_StayEntry_Detail}")]
@using Somnia.GuestLog.Models.DTOs;
@using Somnia.GuestLog.Services;
@inject IUserMessageService userMessage
@inject IDialogService DialogService
@inject NavigationManager Navigation
@inject IGuestDocumentEntityService guestDocService
@inject IStayEntryEntityService stayService
Somnia - Guest Docs - Details
Stay Entry - "@StayId"
@LanguageLocale.general_btnEdit
@LanguageLocale.general_btnReturn
@if (stayModel is not null)
{
@CreateTimeString
}
@code {
[Parameter]
public long StayId { get; set; }
[SupplyParameterFromQuery(Name = GuestConsts.QueryParam_ReturnUrl)]
public string? ReturnUrl { get; set; }
StayEntryDTO? stayModel = null;
private string? CreateTimeString
{
get
{
if (stayModel is null)
{
return null;
}
List textList = [];
textList.Add($"Created at: {stayModel.CreateTime?.ToString() ?? "???"}");
textList.Add($"Last Update Time: {stayModel.UpdateTime?.ToString() ?? "???"}");
return string.Join("; ", textList);
}
}
protected override async Task OnInitializedAsync()
{
@* if (StayId is default)
{
Snackbar.Add("No Id provided!!", Severity.Error);
Navigation.NotFound();
return;
} *@
//Get model from db.
stayModel = await stayService.GetDtoByIdAsync(StayId, queryConfig: new(IncludeGuests: true));
if (stayModel is null)
{
userMessage.ShowMessage($"Stay not found with ID: '{StayId}'", MessageKind.Error);
Navigation.NotFound();
return;
}
}
private void BtnEdit()
{
userMessage.ShowMessage("Not implemented yet!", MessageKind.Info);
}
private void BtnReturn()
{
string uri = ReturnUrl ?? GuestConsts.Page_StayEntry_List;
Navigation.NavigateTo(uri);
}
}