diff --git a/Adaptation/FileHandlers/Stratus/ProcessData.cs b/Adaptation/FileHandlers/Stratus/ProcessData.cs index de3af99..bc109d6 100644 --- a/Adaptation/FileHandlers/Stratus/ProcessData.cs +++ b/Adaptation/FileHandlers/Stratus/ProcessData.cs @@ -254,7 +254,7 @@ public partial class ProcessData : IProcessData reactor = defaultReactor; else reactor = segments[0]; - if (segments.Length <= 1 || !int.TryParse(segments[1], out int rdsValue) || rdsValue < 99) + if (segments.Length <= 1 || !int.TryParse(segments[1].Replace("QP", string.Empty), out int rdsValue) || rdsValue < 99) rds = defaultRDS; else rds = segments[1]; @@ -360,7 +360,7 @@ public partial class ProcessData : IProcessData segments = cassette.Split(new char[] { '.' }); else segments = cassette.Split(new char[] { '\u005F' }); - bool hasRDS = Regex.IsMatch(cassette, "[-]?[0-9]{5,}[-]?"); + bool hasRDS = Regex.IsMatch(cassette, "[-]?([QP][0-9]{4,}|[0-9]{5,})[-]?"); (reactor, rds) = GetReactorAndRDS(defaultReactor, defaultRDS, text, cassette, segments, hasRDS); (layer, psn) = GetLayerAndPSN(defaultLayer, defaultPSN, segments, hasRDS); zone = GetZone(segments); diff --git a/Adaptation/FileHandlers/txt/FileRead.cs b/Adaptation/FileHandlers/txt/FileRead.cs index 67d0a1b..a6c33cd 100644 --- a/Adaptation/FileHandlers/txt/FileRead.cs +++ b/Adaptation/FileHandlers/txt/FileRead.cs @@ -113,7 +113,7 @@ public class FileRead : Shared.FileRead, IFileRead string cassetteID; string fileNameTemp; string tupleFileName; - DateTime cassetteTicks; + DateTime cassetteDateTime; string directoryName = Path.GetDirectoryName(reportFullPath); string sequenceDirectoryName = string.Concat(Path.GetDirectoryName(reportFullPath), @"\", _Logistics.Sequence); string originalDataBioRad = string.Concat(Path.GetDirectoryName(reportFullPath), @"\", _OriginalDataBioRad, _Logistics.Sequence, ".txt"); @@ -132,16 +132,16 @@ public class FileRead : Shared.FileRead, IFileRead isBioRad = tuple.Item2; dataText = tuple.Item4; cassetteID = tuple.Item1; - cassetteTicks = tuple.Item3; + cassetteDateTime = tuple.Item3; if (isBioRad) - tupleFileName = string.Concat("DetailDataBioRad_", cassetteID, "_", cassetteTicks.Ticks, ".txt"); + tupleFileName = string.Concat("DetailDataBioRad_", cassetteID, "_", cassetteDateTime.Ticks, ".txt"); else - tupleFileName = string.Concat("CassetteDataBioRad_", cassetteID, "_", cassetteTicks.Ticks, ".txt"); + tupleFileName = string.Concat("CassetteDataBioRad_", cassetteID, "_", cassetteDateTime.Ticks, ".txt"); fileNameTemp = string.Concat(sequenceDirectoryName, @"\", tupleFileName); File.WriteAllText(fileNameTemp, dataText); - File.SetLastWriteTime(fileNameTemp, cassetteTicks); - if (_Logistics.Sequence != cassetteTicks.Ticks && File.Exists(originalDataBioRad)) - File.Copy(originalDataBioRad, string.Concat(Path.GetDirectoryName(reportFullPath), @"\", _OriginalDataBioRad, cassetteTicks.Ticks, ".txt")); + File.SetLastWriteTime(fileNameTemp, cassetteDateTime); + if (_Logistics.Sequence != cassetteDateTime.Ticks && File.Exists(originalDataBioRad)) + File.Copy(originalDataBioRad, string.Concat(Path.GetDirectoryName(reportFullPath), @"\", _OriginalDataBioRad, cassetteDateTime.Ticks, ".txt")); File.Move(fileNameTemp, string.Concat(directoryName, @"\", tupleFileName)); } if (Directory.Exists(sequenceDirectoryName)) diff --git a/Adaptation/FileHandlers/txt/ProcessData.cs b/Adaptation/FileHandlers/txt/ProcessData.cs index efcf861..7e7c9d7 100644 --- a/Adaptation/FileHandlers/txt/ProcessData.cs +++ b/Adaptation/FileHandlers/txt/ProcessData.cs @@ -435,7 +435,7 @@ public partial class ProcessData log.Debug($"****Extract(FDR): DataType = {dataType}"); if (!isBioRad) { - cassetteDateTime = logistics.DateTimeFromSequence.AddTicks(i * -1); + cassetteDateTime = logistics.DateTimeFromSequence.AddTicks(tickOffset).AddTicks(i * -1); results.Add(new Tuple(cassetteID, isBioRad, cassetteDateTime, dataText)); } else @@ -452,7 +452,7 @@ public partial class ProcessData throw new Exception(); count += 1; _ = contents.Clear(); - cassetteDateTime = logistics.DateTimeFromSequence.AddTicks(count * -1); + cassetteDateTime = logistics.DateTimeFromSequence.AddTicks(tickOffset).AddTicks(count * -1); user = processData.Employee?.ToString() ?? ""; recipe = detail.Recipe?.ToString() ?? ""; _ = contents.Append("Bio-Rad ").Append("QS400MEPI".PadRight(17)).Append("Recipe: ").Append(recipe.PadRight(25)).AppendLine(processData.Date.ToString(Stratus.Description.GetDateFormat())); diff --git a/Adaptation/MET08THFTIRSTRATUS.Tests.csproj b/Adaptation/MET08THFTIRSTRATUS.Tests.csproj index 5fc4267..bd3e9f7 100644 --- a/Adaptation/MET08THFTIRSTRATUS.Tests.csproj +++ b/Adaptation/MET08THFTIRSTRATUS.Tests.csproj @@ -34,7 +34,7 @@ - + NU1701 NU1701 NU1701 @@ -43,7 +43,7 @@ NU1701 NU1701 - + diff --git a/Adaptation/_Tests/Extract/Staging/v2.47.5/BIORAD4.cs b/Adaptation/_Tests/Extract/Staging/v2.47.5/BIORAD4.cs index 0daf186..f8da533 100644 --- a/Adaptation/_Tests/Extract/Staging/v2.47.5/BIORAD4.cs +++ b/Adaptation/_Tests/Extract/Staging/v2.47.5/BIORAD4.cs @@ -29,6 +29,22 @@ public class BIORAD4 [TestMethod] public void Staging__v2_47_5__BIORAD4__txt() => _BIORAD4.Staging__v2_47_5__BIORAD4__txt(); +#if DEBUG + [Ignore] +#endif + [TestMethod] + public void Staging__v2_47_5__BIORAD4__txt637730081979221342__Normal() + { + bool validatePDSF = false; + string check = "*DataBioRad.txt"; + _BIORAD4.Staging__v2_47_5__BIORAD4__txt(); + MethodBase methodBase = new StackFrame().GetMethod(); + string[] variables = _BIORAD4.AdaptationTesting.GetVariables(methodBase, check, validatePDSF); + IFileRead fileRead = _BIORAD4.AdaptationTesting.Get(methodBase, sourceFileLocation: variables[2], sourceFileFilter: variables[3], useCyclicalForDescription: false); + _ = fileRead.ReExtract(); + Shared.AdaptationTesting.UpdatePassDirectory(variables[2]); + } + #if DEBUG [Ignore] #endif diff --git a/Adaptation/_Tests/Static/Stratus.cs b/Adaptation/_Tests/Static/Stratus.cs index 4f166a3..9b27b2e 100644 --- a/Adaptation/_Tests/Static/Stratus.cs +++ b/Adaptation/_Tests/Static/Stratus.cs @@ -164,6 +164,14 @@ public class Stratus : LoggingUnitTesting, IDisposable Assert.IsTrue(string.IsNullOrEmpty(descriptor.Reactor)); Assert.IsTrue(string.IsNullOrEmpty(descriptor.Zone)); Assert.IsTrue(string.IsNullOrEmpty(descriptor.Employee)); + descriptor = FileHandlers.Stratus.ProcessData.GetDescriptor("75-QP1414-SPLIT4"); + Assert.IsTrue(!string.IsNullOrEmpty(descriptor.Cassette)); + Assert.IsTrue(string.IsNullOrEmpty(descriptor.Layer)); + Assert.IsTrue(descriptor.PSN is "SPLIT4"); + Assert.IsTrue(descriptor.RDS is "QP1414"); + Assert.IsTrue(descriptor.Reactor is "75"); + Assert.IsTrue(string.IsNullOrEmpty(descriptor.Zone)); + Assert.IsTrue(string.IsNullOrEmpty(descriptor.Employee)); LoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Exit")); }