Files
mapo-mono/MP.MONO.UI/Components/AlarmsSetup.razor.cs
T
2022-03-18 18:37:58 +01:00

84 lines
2.3 KiB
C#

using MP.MONO.Core.CONF;
namespace MP.MONO.UI.Components
{
public partial class AlarmsSetup
{
#region Protected Fields
protected List<BaseAlarmConf>? ListRecords = null;
#endregion Protected Fields
#region Protected Properties
protected BaseAlarmConf? AlarmMap { get; set; } = null;
#endregion Protected Properties
#region Protected Methods
protected string cssActive(string memAddr)
{
string answ = "";
if (AlarmMap != null)
{
answ = AlarmMap.memAddr.Equals(memAddr) ? "bg-dark text-light" : "";
}
return answ;
}
protected string cssSilenced(int messIndex)
{
string answ = "";
if (AlarmMap != null)
{
answ = AlarmMap.isSilenced(messIndex) ? "text-secondary" : "text-dark";
}
return answ;
}
protected override async Task OnInitializedAsync()
{
await ReloadData();
}
protected async Task raiseSelect(BaseAlarmConf selBank)
{
AlarmMap = selBank;
await Task.Delay(1);
}
protected async Task ReloadData()
{
ListRecords = null;
await Task.Delay(1);
ListRecords = await MMDataService.getAlarmSetup();
await Task.Delay(1);
}
protected async Task toggleMute(int alarmIndex)
{
// base 1 --> base 0
alarmIndex--;
int bank = alarmIndex / 16;
// calcolo inverso del valore richiesto
if (ListRecords != null && AlarmMap != null)
{
AlarmMap.silenceMask[bank] = AlarmMap.silenceMask[bank] ^ (uint)(1 << alarmIndex);
// sostituisco...
var currObj = ListRecords.FirstOrDefault(x => x.memAddr == AlarmMap.memAddr);
if (currObj != null)
{
currObj.silenceMask = AlarmMap.silenceMask;
// salvo su redis...
await MMDataService.setAlarmSetup(ListRecords);
}
}
await Task.Delay(1);
await ReloadData();
await Task.Delay(1);
}
#endregion Protected Methods
}
}