public void Copy(EBRAXStatus Status) { timeStamp = Status.timeStamp; strStatus = Status.Status; strEvent = Status.Event; warnCounter = Status.WarnCounter; }
public static bool Equal(EBRAXStatus Status1, EBRAXStatus Status2) { bool equal = false; if ((Status1.Status == Status2.Status) && (Status1.Event == Status2.Event)) { equal = true; } return(equal); }
private static bool LogWriteDecide(EBRAXStatus lastReadStatus, EBRAXStatus actualReadStatus) { bool writeToLog = false; if ((lastReadStatus.Event == EBRAXEvents.Starting) || (actualReadStatus.Event == EBRAXEvents.COMOpen) || (actualReadStatus.Event == EBRAXEvents.COMSilent) || (actualReadStatus.Event == EBRAXEvents.Stoping) || !EBRAXStatus.Equal(lastReadStatus, actualReadStatus)) { writeToLog = true; } if (actualReadStatus.Status == EBRAXStatusTypes.OK) { if (lastReadStatus.Status != EBRAXStatusTypes.Activated && lastReadStatus.Status != EBRAXStatusTypes.OK) { writeToLog = true; } else { writeToLog = false; } } if (actualReadStatus.Status == EBRAXStatusTypes.Activated) { if (actualReadStatus.WarnCounter == RS232PortReaderSrv.Default.WarningTimeout) { writeToLog = true; } else { writeToLog = false; } } if (lastReadStatus.Status == EBRAXStatusTypes.Activated && actualReadStatus.Status == EBRAXStatusTypes.OK && lastReadStatus.WarnCounter > RS232PortReaderSrv.Default.WarningTimeout) { writeToLog = true; } return(writeToLog); }
protected override void OnStart(string[] args) { if (RS232PortReaderSrv.Default.LogLevel >= 3) { Info("Starting EBRAXRS232Service"); } //Set Read Satus Variables EBRAXActualStatus = new EBRAXStatus(); EBRAXPreviousStatus = new EBRAXStatus(); EBRAXlastTimeRead = DateTime.Now; EBRAXCycle = 0; //Will try to open port OpenPort(); //Configuring time CheckIfRead.Interval = RS232PortReaderSrv.Default.ReadSleepTime; CheckIfRead.Enabled = true; }
public static int WriteToLog(string message, EBRAXStatus lastReadStatus, EBRAXStatus actualReadStatus, string EventLogSource, string EventLogLog, bool SendNDCStatus) { int result = -1; string LogFile = EBRAXRS232Service.pathToExe + RS232PortReaderSrv.Default.EBRAXStatusLogFile; using (System.IO.StreamWriter file = new System.IO.StreamWriter(LogFile, true)) { try { if (LogWriteDecide(lastReadStatus, actualReadStatus)) { file.WriteLine(message); result = 10; } } catch (Exception e) { ELog.SSource = EventLogSource; ELog.SLog = EventLogLog; ELog.Error(e.Message); ELog.Error(e.StackTrace); result = 20; } } if (SendNDCStatus && LogWriteDecide(lastReadStatus, actualReadStatus)) { string[] strSplitted = message.Split('\t'); result += NDCStatusSender(int.Parse(strSplitted[3]), false, EventLogSource, EventLogLog); } return(result); }