62 lines
2.0 KiB
C#
62 lines
2.0 KiB
C#
using Microsoft.Extensions.Logging;
|
|
|
|
namespace File_Folder_Helper.ADO2024.PI4;
|
|
|
|
internal static partial class Helper20241115
|
|
{
|
|
|
|
#if BIORAD
|
|
|
|
internal static void ScanPast(string text, int[] i, string search)
|
|
{
|
|
int num = text.IndexOf(search, i[0]);
|
|
if (num > -1)
|
|
i[0] = num + search.Length;
|
|
else
|
|
i[0] = text.Length;
|
|
}
|
|
|
|
internal static void GetComplete(ILogger<Worker> logger, List<string> args)
|
|
{
|
|
string searchPattern = args[2];
|
|
string sourceDirectory = Path.GetFullPath(args[0]);
|
|
string[] files = Directory.GetFiles(sourceDirectory, searchPattern, SearchOption.TopDirectoryOnly);
|
|
if (files.Length != 1)
|
|
logger.LogError("No files found in {sourceDirectory} with search pattern {searchPattern}", sourceDirectory, searchPattern);
|
|
else
|
|
{
|
|
List<string> group = [];
|
|
string text = File.ReadAllText(files[0]);
|
|
int[] i = [0];
|
|
ScanPast(text, i, "Recipe ID:");
|
|
ScanPast(text, i, "*");
|
|
#pragma warning disable IDE0057
|
|
string[] segments = text.Substring(i[0]).Split('*');
|
|
string[] segmentsB;
|
|
string[] segmentsC;
|
|
foreach (string segment in segments)
|
|
{
|
|
segmentsB = segment.Split(Environment.NewLine);
|
|
segmentsC = segmentsB[0].Split(' ');
|
|
if (segment.Contains("Group"))
|
|
{
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#else
|
|
|
|
internal static void GetComplete(ILogger<Worker> logger, List<string> args)
|
|
{
|
|
string searchPattern = args[2];
|
|
string sourceDirectory = Path.GetFullPath(args[0]);
|
|
string[] files = Directory.GetFiles(sourceDirectory, searchPattern, SearchOption.TopDirectoryOnly);
|
|
if (files.Length != 1)
|
|
logger.LogError("No files found in {sourceDirectory} with search pattern {searchPattern}", sourceDirectory, searchPattern);
|
|
logger.LogError("GetComplete is not available in BioRad {args[1]}", args[1]);
|
|
}
|
|
|
|
#endif
|
|
|
|
} |