84 lines
2.3 KiB
C#
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
|
|
}
|
|
} |