using Blazored.SessionStorage; using Blazored.LocalStorage; using Microsoft.AspNetCore.Components; using Microsoft.JSInterop; using MP.Data.DTO; using MP.INVE.Data; namespace MP.INVE.Components { public partial class CmpTop { #region Public Methods public async Task flushCache() { await Task.Delay(1); await Task.Delay(1); await MIDataService.FlushRedisCache(); // rimando a pagina corrente NavManager.NavigateTo(NavManager.Uri, true); } public async Task LogOut() { await localStorage.ClearAsync(); // rimando a pagina login NavManager.NavigateTo("OperatoreLogin", true); } #endregion Public Methods #region Protected Properties [Inject] protected IJSRuntime JSRuntime { get; set; } = null!; [Inject] protected MiDataService MIDataService { get; set; } = null!; #endregion Protected Properties #region Protected Methods protected async Task getId() { OperatoreDTO answ = new OperatoreDTO(); answ = await localStorage.GetItemAsync("MatrOpr"); if (!NavManager.Uri.Contains("Jumper?")) { if (answ != null) { userName = $"{answ.Cognome} {answ.Nome} ({answ.MatrOpr})"; if (NavManager.Uri.Contains("OperatoreLogin")) { NavManager.NavigateTo("Starter", true); } } else { userName = "0"; if (!NavManager.Uri.Contains("OperatoreLogin")) { NavManager.NavigateTo("OperatoreLogin", true); } } } } protected override async Task OnInitializedAsync() { await getId(); } protected override async Task OnAfterRenderAsync(bool firstRender) { await getId(); } #endregion Protected Methods #region Private Fields private string userName = ""; #endregion Private Fields #region Private Properties [Inject] private NavigationManager NavManager { get; set; } = null!; [Inject] private ISessionStorageService sessionStorage { get; set; } = null!; [Inject] private ILocalStorageService localStorage { get; set; } = null!; #endregion Private Properties } }