Files
StockMan/StockMan.CORE/Shared/MainLayout.razor.cs
T
zaccaria.majid 6ba5ea0083 Aggiunti:
-metodi per controllo username
-message service
-metodi per estrapolare username da db
-metodi per eliminare i duplicati
-tooltip vari
2023-02-21 16:17:14 +01:00

72 lines
2.1 KiB
C#

using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Authorization;
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!;
#endregion Protected Properties
#region Protected Methods
protected override async Task OnInitializedAsync()
{
await forceReload();
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
}
}