Files
cms_thermo_active/Thermo.Active.Database/Controllers/RedisController.cs
T
2020-10-20 14:17:31 +02:00

102 lines
4.3 KiB
C#

using System.Collections.Generic;
using Thermo.Active.Database.Redis;
using Thermo.Active.Model.DTOModels;
namespace Thermo.Active.Database.Controllers
{
public static class RedisController
{
private const string redisNotificationAddress = "Machine:ProductionProcesses:%NN%:Notification";
private const string redisProdNameAddress = "Machine:ProductionProcesses:%NN%:Programs:01:Name";
private const string redisRepsTargetAddress = "Machine:ProductionProcesses:%NN%:Programs:01:RepsTarget";
private const string redisRepsDoneAddress = "Machine:ProductionProcesses:%NN%:Programs:01:RepsDone";
private const string redisAlmCurr = "AdpConf:Plc:Condition:Curr";
private const string redisAlmIt = "AdpConf:Plc:Condition:It";
private const string redisAlmEn = "AdpConf:Plc:Condition:En";
private const string currentUserPath = "Machine:Hmi:User";
private const string machineMessagePath = "Machine:Messages";
private const string machineStatusPath = "Machine:Status";
private const string machinePowerPath = "Machine:Power";
private const string machineEmergencyPath = "Machine:Emergency";
public static void WriteProductionNotification(uint ProductionProcess, string Notification)
{
string redisHash = redUtil.man.redHash(redisNotificationAddress).Replace("%NN%", ProductionProcess.ToString("00"));
redUtil.man.setRSV(redisHash, Notification);
}
public static void WriteProductionName(uint ProductionProcess, string Name)
{
string redisHash = redUtil.man.redHash(redisProdNameAddress).Replace("%NN%", ProductionProcess.ToString("00"));
redUtil.man.setRSV(redisHash, Name);
}
public static void WriteProductionRepsTarget(uint ProductionProcess, string RepsTarget)
{
string redisHash = redUtil.man.redHash(redisRepsTargetAddress).Replace("%NN%", ProductionProcess.ToString("00"));
redUtil.man.setRSV(redisHash, RepsTarget);
}
public static void WriteProductionRepsDone(uint ProductionProcess, string RepsDone)
{
string redisHash = redUtil.man.redHash(redisRepsDoneAddress).Replace("%NN%", ProductionProcess.ToString("00"));
redUtil.man.setRSV(redisHash, RepsDone);
}
public static bool WriteAlarmsConfigCurr(Dictionary<string, string> alarms)
{
string redisHash = redUtil.man.redHash(redisAlmCurr);
return redUtil.man.redSaveHashDict(redisHash, alarms);
}
public static bool WriteAlarmsConfigEn(Dictionary<string, string> alarms)
{
string redisHash = redUtil.man.redHash(redisAlmEn);
return redUtil.man.redSaveHashDict(redisHash, alarms);
}
public static bool WriteAlarmsConfigIt(Dictionary<string, string> alarms)
{
string redisHash = redUtil.man.redHash(redisAlmIt);
return redUtil.man.redSaveHashDict(redisHash, alarms);
}
public static bool WriteCurrentUser(string User)
{
string redisHash = redUtil.man.redHash(currentUserPath);
return redUtil.man.setRSV(redisHash, User.ToString());
}
public static bool SendMessage(DTOMessageModel message)
{
string redisHash = redUtil.man.redHash(machineMessagePath);
return redUtil.man.setJson(redisHash, message);
}
public static bool WriteCurrentMachineStatus(string status)
{
string redisHash = redUtil.man.redHash(machineStatusPath);
return redUtil.man.setRSV(redisHash, status.ToString());
}
public static bool WriteCurrentMachinePowerPath(bool status)
{
string redisHash = redUtil.man.redHash(machinePowerPath);
if(status)
return redUtil.man.setRSV(redisHash, "true");
else
return redUtil.man.setRSV(redisHash, "false");
}
public static bool WriteCurrentMachineEmergencyPath(bool status)
{
string redisHash = redUtil.man.redHash(machineEmergencyPath);
if (status)
return redUtil.man.setRSV(redisHash, "true");
else
return redUtil.man.setRSV(redisHash, "false");
}
}
}