76 lines
2.2 KiB
C#
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
|
|
}
|
|
} |