Files
mapo-core/MP.Mon/Pages/Index.razor.cs
T
Samuele Locatelli 519c8d2130 Update MON
2022-04-13 10:58:13 +02:00

98 lines
2.8 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Components;
using System.Net.Http;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Components.Authorization;
using Microsoft.AspNetCore.Components.Forms;
using Microsoft.AspNetCore.Components.Routing;
using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.Web.Virtualization;
using Microsoft.JSInterop;
using MP.Mon;
using MP.Mon.Shared;
using MP.Mon.Components;
using MP.Data.DatabaseModels;
using MP.Mon.Components;
using MP.Mon.Data;
namespace MP.Mon.Pages
{
public partial class Index
{
protected List<MappaStatoExpl>? ListMSE = null;
protected int keepAliveMin = 5; // leggere da conf?
protected int maxCol = 6; // leggere da conf?
protected bool doAnimate = true; // leggere da conf?
//protected string baseCss = "sem";
//protected string baseCss = "semBlink";
protected string baseCss = "";
protected override async Task OnInitializedAsync()
{
setupConf();
await reloadData();
//return base.OnInitializedAsync();
}
private void setupConf()
{
baseCss = doAnimate ? "semBlink" : "sem";
}
[Inject]
protected MpDataService MMDataService { get; set; }
private async Task reloadData()
{
ListMSE = await MMDataService.MseGetAll();
}
private string cssStatus(string codSemaforo)
{
return $"{baseCss}{codSemaforo.Substring(1,2)}";
}
private string cssComStatus(string semaforo, DateTime? lastUpdateN)
{
DateTime lastUpdate = lastUpdateN.HasValue ? (DateTime)lastUpdateN : DateTime.Now.AddHours(-1);
string answ = cssStatus(semaforo);
if (DateTime.Now.Subtract(lastUpdate).TotalSeconds > (keepAliveMin * 60 / 2))
{
answ = $"{baseCss}Ro";
}
return answ;
}
private bool showComErr(DateTime? lastUpdateN)
{
DateTime lastUpdate = lastUpdateN.HasValue ? (DateTime)lastUpdateN : DateTime.Now.AddHours(-1);
bool answ = false;
if (DateTime.Now.Subtract(lastUpdate).TotalSeconds > (keepAliveMin * 60 / 2))
{
answ = true;
}
return answ;
}
private string getMinSec(decimal? currTimeMin)
{
string answ = "nd";
TimeSpan tSpan = new TimeSpan(0);
try
{
tSpan = TimeSpan.FromMinutes((double)currTimeMin);
answ = tSpan.ToString("mm:ss");
}
catch
{ }
return answ;
}
}
}