SparkControl_API/WorkflowDemo.cs
2025-03-27 16:01:28 +08:00

61 lines
2.2 KiB
C#

using System;
using System.Collections.Generic;
namespace Tecan.At.AutomationInterface.SampleApp
{
internal class WorkflowDemo
{
[Demo("startWorkflow <methodFile>", 'b')]
public static void Export(SampleApp sampleApp, SessionData sessionData)
{
Console.Write("instrument alias? ");
var instrumentAlias = Console.ReadLine();
Console.WriteLine("methodFile? ");
var methodFile = Console.ReadLine();
sessionData = new SessionData();
sampleApp.GetInstrument(sessionData, instrumentAlias);
sampleApp.ExecuteMethod(sessionData, methodFile, "AutomationInterfaceMethod", new int[] { });
sampleApp.ExportData(sessionData);
Console.WriteLine("Export: " + sessionData.ExportedDataFile);
}
[Demo("select wells and execute <instrumentAlias> <methodFile> <wellIndices>", 'c')]
public static void SelectWellsAndExport(SampleApp sampleApp, SessionData sessionData)
{
Console.Write("instrument alias? ");
var instrumentAlias = Console.ReadLine();
Console.WriteLine("methodFile? ");
var methodFile = Console.ReadLine();
Console.WriteLine("wells to select? Bsp: 2, 5, 32, ...");
var wellsToSelectString = Console.ReadLine();
List<int> wellsToSelect = new List<int>();
if (!string.IsNullOrWhiteSpace(wellsToSelectString))
{
string[] intParts = wellsToSelectString.Split(new char[] { ',' });
foreach (var intPart in intParts)
{
if (int.TryParse(intPart.Trim(), out int wellIndex))
{
wellsToSelect.Add(wellIndex);
}
}
}
sessionData = new SessionData();
sampleApp.GetInstrument(sessionData, instrumentAlias);
sampleApp.ExecuteMethod(sessionData, methodFile, "AutomationInterfaceMethod", wellsToSelect.ToArray());
sampleApp.ExportData(sessionData);
Console.WriteLine("Export: " + sessionData.ExportedDataFile);
}
}
}