Files
mapo-core/MP-TAB-SERV/Components/CmpFooter.razor.cs
T
2023-12-11 15:35:21 +01:00

89 lines
2.5 KiB
C#

using Microsoft.AspNetCore.Components;
using MP.Data.Services;
using NLog;
namespace MP_TAB_SERV.Components
{
public partial class CmpFooter : IDisposable
{
[Inject]
protected SharedMemService SMServ { get; set; } = null!;
[Inject]
protected MessageService MsgServ { get; set; } = null!;
[Inject]
protected NavigationManager NavMan { get; set; } = null!;
#region Public Methods
public void Dispose()
{
if (aTimer != null)
{
aTimer.Elapsed -= ElapsedTimer;
aTimer.Stop();
aTimer.Dispose();
}
}
public void ElapsedTimer(object? source, System.Timers.ElapsedEventArgs e)
{
var diffOfTime = DateTime.Now - MsgServ.dtLastAction;
var pUpd = Task.Run(async () =>
{
await Task.Delay(1);
await InvokeAsync(() => StateHasChanged());
if(diffOfTime.Minutes >= dtTimerScadenzaLogin)
{
NavMan.NavigateTo("logout");
}
//Log.Trace("CmpFooter Timer elapsed");
});
pUpd.Wait();
}
public void StartTimer()
{
int tOutPeriod = dtTimerScadenzaLogin * 60000;
aTimer = new System.Timers.Timer(tOutPeriod);
aTimer.Elapsed += ElapsedTimer;
aTimer.Enabled = true;
aTimer.Start();
}
#endregion Public Methods
#region Protected Methods
int dtTimerScadenzaLogin { get; set; } = 0;
protected override async Task OnInitializedAsync()
{
await Task.Delay(1);
var rawVers = typeof(Program).Assembly.GetName().Version;
version = rawVers != null ? rawVers : new Version("0.0.0.0");
//dtTimerScadenzaLogin = SMServ.GetConfInt("TAB_dtTimerScadLogin");
//dtTimerScadenzaLogin = SMServ.GetConfInt("TAB_dtTimerScadLogin");
//if (dtTimerScadenzaLogin > 0)
//{
// //StartTimer();
//}
}
//protected override void OnInitialized()
//{
//}
#endregion Protected Methods
#region Private Fields
private System.Timers.Timer aTimer = null!;
private static Logger Log = LogManager.GetCurrentClassLogger();
private Version version = null!;
#endregion Private Fields
}
}