Files
mapo-core/MP.INVE/Components/CmpTop.razor.cs
T
2022-11-15 16:23:40 +01:00

111 lines
2.5 KiB
C#

using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Authorization;
using Microsoft.Extensions.Configuration;
using Microsoft.JSInterop;
using MP.INVE.Data;
namespace MP.INVE.Components
{
public partial class CmpTop:IDisposable
{
#region Public Methods
public async Task flushCache()
{
await Task.Delay(1);
await Task.Delay(1);
// rimando a pagina corrente
NavManager.NavigateTo(NavManager.Uri, true);
}
public void Dispose()
{
LServ.EA_LogIn -= LServ_EA_LogIn;
LServ.EA_LogOut -= LServ_EA_LogOut;
GC.Collect();
}
#endregion Public Methods
#region Protected Properties
[Inject]
protected IJSRuntime JSRuntime { get; set; } = null!;
[Inject]
protected LoginService LServ { get; set; } = null!;
#endregion Protected Properties
#region Protected Methods
protected override async Task OnInitializedAsync()
{
LServ.EA_LogIn += LServ_EA_LogIn;
LServ.EA_LogOut += LServ_EA_LogOut;
await forceReload();
}
private void LServ_EA_LogOut()
{
NavManager.NavigateTo("OperatoreLogin", true);
}
private void LServ_EA_LogIn()
{
NavManager.NavigateTo("Starter", true);
}
#endregion Protected Methods
#region Private Fields
#endregion Private Fields
#region Private Properties
[Inject]
private NavigationManager NavManager { get; set; } = null!;
#endregion Private Properties
#region Private Methods
private async Task forceReload()
{
await Task.Delay(1);
// controllo per login
if (LServ.matrOpr <= 0 && !NavManager.Uri.Contains("OperatoreLogin"))
{
NavManager.NavigateTo("OperatoreLogin", true);
}
}
private async Task logOut()
{
await Task.Delay(1);
LServ.LogOut();
}
private string userName
{
get
{
string answ = "ND";
answ = $"{LServ.Cognome} {LServ.Cognome} ({LServ.matrOpr})";
return answ;
}
}
private async void MService_EA_ShowSearch()
{
await Task.Delay(1);
await InvokeAsync(() => StateHasChanged());
}
#endregion Private Methods
}
}