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 StartWork() { return doWorkProcess(base.CurrentProcessProgress); } private List doWorkProcess(ProcessProgress pp) { try { var listOfProcessTask = new List(); listOfProcessTask.Add(new Task(() => { 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); } } } }