Files
zaccaria.majid efb4ee484d fix menu
2023-03-02 15:10:37 +01:00

76 lines
2.2 KiB
C#

using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Authorization;
using Microsoft.AspNetCore.WebUtilities;
using StockMan.CORE.Data;
using StockMan.Data.DbModels;
using System.Net;
namespace StockMan.CORE.Shared
{
public partial class MainLayout
{
#region Protected Properties
[Inject]
protected StockDataService SDService { get; set; } = null!;
protected List<PermessiModel>? navMenuLinks { get; set; } = null;
public EventCallback<string> UserNameCB { get; set; }
public string userName
{
get
{
return MService.newUserName;
}
set
{
MService.newUserName = value;
reportChange();
}
}
[Inject]
protected AuthenticationStateProvider AuthenticationStateProvider { get; set; } = null!;
[Inject]
protected MessageService MService { get; set; } = null!;
[Inject]
protected NavigationManager NavManager { get; set; } = null!;
#endregion Protected Properties
#region Protected Methods
protected override async Task OnInitializedAsync()
{
await forceReload();
var uri = NavManager.ToAbsoluteUri(NavManager.Uri);
navMenuLinks = await SDService.PermessiGetAll();
MService.EA_UserName += OnNewUserName;
}
public async void OnNewUserName()
{
await InvokeAsync(() =>
{
StateHasChanged();
});
}
private void reportChange()
{
UserNameCB.InvokeAsync(userName);
}
private async Task forceReload()
{
var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync();
var user = authState.User;
if (user.Identity != null && user.Identity.IsAuthenticated)
{
userName = $"{user.Identity.Name}";
// cercare in tabella operators e salvare sigla da registrare nei vari records sul DB
}
else
{
userName = "N.A.";
}
}
#endregion Protected Methods
}
}