common/CordonelPreadjustmentUi/Processes/Actions/PrepareTestProcess.cs
2026-04-23 17:50:07 +02:00

97 lines
3.0 KiB
C#

using CordonelPreadjustmentUi.Processes.Itinerary;
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using static CordonelPreadjustmentUi.PreAdjustmentControl;
namespace CordonelPreadjustmentUi.Processes.Actions
{
public class PrepareTestProcess : BaseProcess
{
public PrepareTestProcess(string processName, StatusPanelItems panelState, string performMessage, string failedMessage, int? expectedTimeS) : base(processName, panelState, performMessage, failedMessage, expectedTimeS)
{
}
public override List<Task> StartWork()
{
return doWorkProcess(base.CurrentProcessProgress);
}
private List<Task> doWorkProcess(ProcessProgress pp)
{
try
{
var listOfProcessTask = new List<Task>();
listOfProcessTask.Add(new Task<bool>(() =>
{
pp.DebugMessage("test start");
//var Result = false;
//for (int i = 0; i < 3; i++)
//{
// pp.DebugMessage = $"\tCOMMAND CHANNEL: \t Performing {ProcessName} procedure\n";
// try
// {
// Result = string.IsNullOrEmpty(meterctl.OverridePassword)
// ? meterctl.Meter.Login()
// : meterctl.Meter.Login(meterctl.OverridePassword);
// if (Result)
// {
// break;
// }
// Thread.Sleep(100);
// }
// catch (Exception e)
// {
// pp.DebugMessage = $"\tCOMMAND CHANNEL: \t Error on {ProcessName} procedure\n";
// }
//}
//var meterIndex = (meterctl.Slot).ToString(pp.Setting.Culture);
//meterctl.Failed = !Result;
//if (!Result)
//{
// pp.DebugMessage = $"\tCOMMAND CHANNEL: \t {ProcessName} procedure failed at METER{meterIndex}\n";
//}
//else
//{
// pp.DebugMessage = $"\tCOMMAND CHANNEL: \t {ProcessName} procedure successful at METER{meterIndex}\n";
// pp.GenerateReturnNote($"{meterctl.Slot}", meterctl.Meter.PcbId, PredefinedMessages.LoginFailed(pp.Setting.Culture));
//}
//no preperation test needed
pp.DebugMessage($"found {MeterStateCtls.Count} slots for meters");
pp.DebugMessage($"found {TempMeterStateCtls.Count} slots for temp meters");
return true;
}));
return listOfProcessTask;
}
catch (System.Exception ex)
{
throw new ApplicationException("PrepareTestProcess", ex);
}
}
}
}