Creata pagina step della commessa
This commit is contained in:
@@ -6,11 +6,14 @@
|
||||
@using salesbook.Shared.Components.SingleElements.BottomSheet
|
||||
@using salesbook.Shared.Components.Layout.Spinner
|
||||
@using salesbook.Shared.Components.SingleElements
|
||||
@using salesbook.Shared.Core.Dto.PageState
|
||||
@using salesbook.Shared.Core.Dto.Users
|
||||
@using salesbook.Shared.Core.Entity
|
||||
@using salesbook.Shared.Core.Messages.Contact
|
||||
@inject IManageDataService ManageData
|
||||
@inject NewContactService NewContact
|
||||
@inject FilterUserDTO Filter
|
||||
@inject UserListState UserState
|
||||
|
||||
<HeaderLayout Title="Contatti"/>
|
||||
|
||||
@@ -70,22 +73,46 @@
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
NewContact.OnContactCreated += async response => await OnUserCreated(response);
|
||||
Console.WriteLine($"Filter HashCode: {Filter.GetHashCode()} - IsInitialized: {Filter.IsInitialized}");
|
||||
}
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
if (firstRender)
|
||||
{
|
||||
await LoadData();
|
||||
IsLoading = true;
|
||||
StateHasChanged();
|
||||
|
||||
if (UserState.FilteredGroupedUserList == null && UserState.GroupedUserList == null)
|
||||
{
|
||||
await LoadData();
|
||||
SetDataSession();
|
||||
}
|
||||
else
|
||||
{
|
||||
LoadFromSession();
|
||||
}
|
||||
|
||||
FilterUsers();
|
||||
|
||||
IsLoading = false;
|
||||
StateHasChanged();
|
||||
}
|
||||
}
|
||||
|
||||
private void LoadFromSession()
|
||||
{
|
||||
GroupedUserList = UserState.GroupedUserList!;
|
||||
FilteredGroupedUserList = UserState.FilteredGroupedUserList!;
|
||||
}
|
||||
|
||||
private void SetDataSession()
|
||||
{
|
||||
UserState.GroupedUserList = GroupedUserList;
|
||||
UserState.FilteredGroupedUserList = FilteredGroupedUserList;
|
||||
}
|
||||
|
||||
private async Task LoadData()
|
||||
{
|
||||
IsLoading = true;
|
||||
StateHasChanged();
|
||||
|
||||
if (!Filter.IsInitialized)
|
||||
{
|
||||
var loggedUser = (await ManageData.GetTable<StbUser>(x => x.UserName.Equals(UserSession.User.Username))).Last();
|
||||
@@ -126,19 +153,6 @@
|
||||
HeaderLetter = currentLetter
|
||||
});
|
||||
}
|
||||
|
||||
FilterUsers();
|
||||
|
||||
IsLoading = false;
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
|
||||
private class UserDisplayItem
|
||||
{
|
||||
public required ContactDTO User { get; set; }
|
||||
public bool ShowHeader { get; set; }
|
||||
public string? HeaderLetter { get; set; }
|
||||
}
|
||||
|
||||
private void FilterUsers() => FilterUsers(false);
|
||||
|
||||
Reference in New Issue
Block a user