SHA256
GuestLog - GuestDocument fixes & improvements:
- Use GuestDocument Details page to see details. - Added GuestDocument stays in details page. Other minor changes: - Updated validators to use ValueValidator base class. - Changed Snackbar settings to show them better. - Added Empty Debug page to test things. This page wont be updated in git, all test must be local-only.
This commit is contained in:
@@ -7,9 +7,7 @@
|
||||
@inject IDialogService DialogService
|
||||
@inject NavigationManager Navigation
|
||||
@inject IGuestDocumentService guestDocService
|
||||
|
||||
|
||||
@inject FluentValidation.IValidator<GuestDocIdDTO> docIdValidator;
|
||||
@inject IStayEntryService stayService
|
||||
|
||||
|
||||
<PageTitle>Somnia - Guest Docs - Details</PageTitle>
|
||||
@@ -17,8 +15,8 @@
|
||||
<MudStack Row="true" Class="my-4">
|
||||
<MudText Typo="Typo.h4" GutterBottom="true">Guest Document - "@docId"</MudText>
|
||||
<MudSpacer />
|
||||
<MudButton Variant="Variant.Filled" Color="Color.Success" Size="Size.Small" StartIcon="@Icons.Material.Filled.Add"
|
||||
OnClick="() => BtnEdit()">
|
||||
<MudButton Variant="Variant.Filled" Color="Color.Success" Size="Size.Small" StartIcon="@Icons.Material.Filled.Edit"
|
||||
OnClick="() => BtnEdit()" Disabled>
|
||||
@LanguageLocale.general_btnEdit
|
||||
</MudButton>
|
||||
<MudButton Variant="Variant.Filled" Color="Color.Default" Size="Size.Small"
|
||||
@@ -29,7 +27,46 @@
|
||||
|
||||
@if (documentModel is not null)
|
||||
{
|
||||
<GuestDocForm @ref="_form" Model="documentModel" ReadOnly="true" />
|
||||
<MudTabs Elevation="3" Rounded="true" ApplyEffectsToContainer="true" TabPanelsClass="pa-4" KeepPanelsAlive="true"
|
||||
Centered>
|
||||
|
||||
<MudTabPanel Text="Details" Icon="@Icons.Material.Filled.Info">
|
||||
<GuestDocForm @ref="_form" Model="documentModel" ReadOnly="true" />
|
||||
</MudTabPanel>
|
||||
|
||||
<MudTabPanel Text="Stays" ToolTip="Guest stays" OnClick="LoadTabGuestStays" Icon="@Icons.Material.Filled.Bed">
|
||||
<MudText>Total Stays: @(guestStaysLoading ? "Loading..." : guestStayList.Count())</MudText>
|
||||
<MudTable Items="@guestStayList" Hover="true" Loading="@guestStaysLoading" Class="mt-2" Elevation="2">
|
||||
<HeaderContent>
|
||||
<MudTh>@LanguageLocale.dto_StayEntry_DateIn</MudTh>
|
||||
<MudTh>@LanguageLocale.dto_StayEntry_DateOut</MudTh>
|
||||
<MudTh>@LanguageLocale.dto_StayEntry_RoomCount</MudTh>
|
||||
<MudTh>@LanguageLocale.dto_StayEntry_RoomNumber</MudTh>
|
||||
</HeaderContent>
|
||||
<RowTemplate>
|
||||
<MudTd DataLabel="@LanguageLocale.dto_StayEntry_DateIn">
|
||||
@context.DateIn
|
||||
</MudTd>
|
||||
<MudTd DataLabel="@LanguageLocale.dto_StayEntry_DateOut">
|
||||
@context.DateOut
|
||||
</MudTd>
|
||||
<MudTd DataLabel="@LanguageLocale.dto_StayEntry_RoomCount">
|
||||
@context.RoomCount
|
||||
</MudTd>
|
||||
<MudTd DataLabel="@LanguageLocale.dto_StayEntry_RoomNumber">
|
||||
@context.RoomNumber
|
||||
</MudTd>
|
||||
</RowTemplate>
|
||||
<NoRecordsContent>
|
||||
<MudText>@LanguageLocale.general_noResults</MudText>
|
||||
</NoRecordsContent>
|
||||
<LoadingContent>
|
||||
<MudSkeleton Height="50px" Class="mx-4" />
|
||||
</LoadingContent>
|
||||
</MudTable>
|
||||
</MudTabPanel>
|
||||
|
||||
</MudTabs>
|
||||
}
|
||||
|
||||
@code {
|
||||
@@ -42,6 +79,10 @@
|
||||
GuestDocumentDTO? documentModel = null;
|
||||
|
||||
|
||||
IEnumerable<StayEntryDTO> guestStayList = [];
|
||||
bool guestStaysLoading = true;
|
||||
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
if (docId is null)
|
||||
@@ -78,4 +119,22 @@
|
||||
{
|
||||
Navigation.NavigateTo(GuestConsts.Page_GuestDocs_List);
|
||||
}
|
||||
|
||||
private async Task LoadTabGuestStays()
|
||||
{
|
||||
//Only load when there is no data.
|
||||
if (guestStayList.Count() > 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (documentModel is null || documentModel.DocumentType is null || documentModel.DocumentNum is null)
|
||||
{
|
||||
throw new InvalidOperationException();
|
||||
}
|
||||
|
||||
guestStaysLoading = true;
|
||||
guestStayList = await stayService.GetStaysWithGuest(documentModel.DocumentType, documentModel.DocumentNum);
|
||||
guestStaysLoading = false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user