Events, EventViewer, Common prjs, UI.EventLogs, UI.Calendar, EventTriggers, GetCalendarEvents() in WT/I.

This commit is contained in:
Milan Hanajik
2020-04-21 10:46:42 +02:00
parent 66631855bb
commit b1d692230e
161 changed files with 13377 additions and 933 deletions
+23 -33
View File
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2013-2019 Sensus Slovensko a.s.
/// Copyright (c) 2013-2020 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
@@ -1463,56 +1463,46 @@ namespace TBF.BenchControl.Sequences
//------------------------------------------------------
Bridge.OnActivity(this, Strings.Saving_and_printing_results);
State savingAndPrintingRslts = State.Create("MainSeq : Saving and printing results");
//------------------------------------------------------
string[] writers = StateMachine.Procedure.ResultsWriter.Split(new char[] { '~' });
foreach (var writerName in writers)
string[] writers = (StateMachine.Procedure.ResultsWriter != null) ? StateMachine.Procedure.ResultsWriter.Split(new char[] { '~' }) : new string[0];
string[] printers = (StateMachine.Procedure.ResultsPrinter != null) ? StateMachine.Procedure.ResultsPrinter.Split(new char[] { '~' }) : new string[0];
string[] eventTriggers = (StateMachine.Procedure.EventTriggers != null) ? StateMachine.Procedure.EventTriggers.Split(new char[] { '~' }) : new string[0];
string[] rsltProcessors = new string[writers.Length + printers.Length + eventTriggers.Length];
writers.CopyTo(rsltProcessors, 0);
printers.CopyTo(rsltProcessors, writers.Length);
eventTriggers.CopyTo(rsltProcessors, writers.Length + printers.Length);
///
State savingAndPrintingRslts = State.Create("MainSeq : Saving and printing results");
foreach (var rpName in rsltProcessors)
{
IResultsWriter writer = TbfComponents.FindComponent(writerName) as IResultsWriter;
if (writer != null)
IResultsProcessor rsltProcessor = TbfComponents.FindComponent(rpName) as IResultsProcessor;
if (rsltProcessor != null)
{
try
{
savingAndPrintingRslts.AddOperation(writer.WriteResultsOp(ProcessData.BatchRslts.Batch));
savingAndPrintingRslts.AddOperation(rsltProcessor.ProcessResultsOp(ProcessData.BatchRslts.Batch));
}
catch (Exception exc)
{
Bridge.OnError(this, string.Format(Strings.Component_0_crashed_Results_not_saved, writerName));
log.FatalFormat("FileWriter {0} crashed: {1}", writerName, exc.Message);
Bridge.OnError(this, string.Format(Strings.Component_0_crashed_Results_not_saved, rpName));
log.FatalFormat("FileWriter {0} crashed: {1}", rpName, exc.Message);
}
}
}
string[] printers = StateMachine.Procedure.ResultsPrinter.Split(new char[] { '~' });
foreach (var printerName in printers)
{
IResultsPrinter printer = TbfComponents.FindComponent(printerName) as IResultsPrinter;
if (printer != null && !printer.SupressPrinting)
{
try
{
savingAndPrintingRslts.AddOperation(printer.PrintResultsOp(ProcessData.BatchRslts.Batch));
}
catch (Exception exc)
{
Bridge.OnError(this, string.Format(Strings.Component_0_crashed_Results_not_printed, printerName));
log.FatalFormat("Printer {0} crashed: {1}", printerName, exc.Message);
}
}
}
savingAndPrintingRslts.AddOperation(checkUiOp).EnterState();
do
{
savingAndPrintingRslts.AddOperation(checkUiOp)
.EnterState();
do {
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.Error)) goto error;
if (e.Contains(Event.UiCmdStop)) goto stop;
}
while (e.Contains(Event.Busy));
bool resultsSent = !e.Contains(Event.ResultsNotWritten);
///
bool resultsSent = !e.Contains(Event.ErrorProcessingResults);
ProcessData.BatchRslts.Batch.RsltsSent = resultsSent;
///
/// Save results to 'Results' MySQL database
///