diff --git a/Adaptation/FileHandlers/csv/FileRead.cs b/Adaptation/FileHandlers/csv/FileRead.cs index ccb4440..a0e0526 100644 --- a/Adaptation/FileHandlers/csv/FileRead.cs +++ b/Adaptation/FileHandlers/csv/FileRead.cs @@ -18,7 +18,7 @@ public class FileRead : Shared.FileRead, IFileRead public FileRead(ISMTP smtp, Dictionary fileParameter, string cellInstanceName, int? connectionCount, string cellInstanceConnectionName, FileConnectorConfiguration fileConnectorConfiguration, string equipmentTypeName, string parameterizedModelObjectDefinitionType, IList modelObjectParameters, string equipmentDictionaryName, Dictionary> dummyRuns, Dictionary> staticRuns, bool useCyclicalForDescription, bool isEAFHosted) : base(new Description(), true, smtp, fileParameter, cellInstanceName, connectionCount, cellInstanceConnectionName, fileConnectorConfiguration, equipmentTypeName, parameterizedModelObjectDefinitionType, modelObjectParameters, equipmentDictionaryName, dummyRuns, staticRuns, useCyclicalForDescription, isEAFHosted: connectionCount is null) { - _MinFileLength = 0; + _MinFileLength = 1000; _Logistics = new(this); _NullData = string.Empty; if (_FileParameter is null) @@ -109,16 +109,15 @@ public class FileRead : Shared.FileRead, IFileRead private Tuple> GetExtractResult(string reportFullPath, DateTime dateTime) { Tuple> results = new(string.Empty, null, null, new List()); + _TickOffset ??= 0; // new FileInfo(reportFullPath).LastWriteTime.Ticks - dateTime.Ticks; string csvFile = Path.Combine(Path.GetDirectoryName(reportFullPath), Path.GetFileNameWithoutExtension(reportFullPath)); - if (!File.Exists(csvFile)) - throw new Exception($"<{csvFile}> doesn't exist!"); - FileInfo fileInfo = new(csvFile); - File.SetCreationTime(reportFullPath, fileInfo.LastWriteTime); - File.SetLastWriteTime(reportFullPath, fileInfo.LastWriteTime); - _TickOffset ??= new FileInfo(reportFullPath).LastWriteTime.Ticks - dateTime.Ticks; - _Logistics = new Logistics(this, _TickOffset.Value, reportFullPath, useSplitForMID: true); + _Logistics = new Logistics(this, _TickOffset.Value, csvFile, useSplitForMID: true); + if (!_Logistics.FileInfo.Exists) + throw new Exception($"<{_Logistics.FileInfo.FullName}> doesn't exist!"); + File.SetCreationTime(reportFullPath, _Logistics.FileInfo.LastWriteTime); + File.SetLastWriteTime(reportFullPath, _Logistics.FileInfo.LastWriteTime); SetFileParameterLotIDToLogisticsMID(); - string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(csvFile); + string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(_Logistics.FileInfo.FullName); #nullable enable MetaData? metaData = ProcessData.GetMetaData(_CommaSeparatedValuesConfiguration, fileNameWithoutExtension); if (metaData is null) @@ -127,7 +126,7 @@ public class FileRead : Shared.FileRead, IFileRead results.Item4.Add(_Logistics.FileInfo); else { - IProcessData iProcessData = new ProcessData(this, _Logistics, results.Item4, _CommaSeparatedValuesConfiguration, csvFile, metaData); + IProcessData iProcessData = new ProcessData(this, _Logistics, results.Item4, _CommaSeparatedValuesConfiguration, metaData); if (iProcessData is not ProcessData processData) throw new Exception(string.Concat("A) No Data - ", dateTime.Ticks)); if (processData.MetaData is null) @@ -138,9 +137,9 @@ public class FileRead : Shared.FileRead, IFileRead if (iProcessData.Details.Count == 0) throw new Exception(string.Concat("C) No Data - ", dateTime.Ticks)); results = iProcessData.GetResults(this, _Logistics, results.Item4); - if (_IsEAFHosted) - File.Delete(reportFullPath); } + if (_IsEAFHosted) + File.Delete(reportFullPath); #nullable disable return results; } diff --git a/Adaptation/FileHandlers/csv/ProcessData.cs b/Adaptation/FileHandlers/csv/ProcessData.cs index fa05516..bcc727e 100644 --- a/Adaptation/FileHandlers/csv/ProcessData.cs +++ b/Adaptation/FileHandlers/csv/ProcessData.cs @@ -22,13 +22,13 @@ public class ProcessData : IProcessData List Shared.Properties.IProcessData.Details => _Details; - public ProcessData(IFileRead fileRead, Logistics logistics, List fileInfoCollection, CommaSeparatedValuesConfiguration commaSeparatedValuesConfiguration, string csvFile, MetaData metaData) + public ProcessData(IFileRead fileRead, Logistics logistics, List fileInfoCollection, CommaSeparatedValuesConfiguration commaSeparatedValuesConfiguration, MetaData metaData) { JobID = logistics.JobID; fileInfoCollection.Clear(); _Details = new List(); MesEntity = logistics.MesEntity; - Parse(fileRead, logistics, fileInfoCollection, commaSeparatedValuesConfiguration, csvFile, metaData); + Parse(fileRead, logistics, fileInfoCollection, commaSeparatedValuesConfiguration, metaData); } string IProcessData.GetCurrentReactor(IFileRead fileRead, Logistics logistics, Dictionary reactors) => throw new Exception(string.Concat("See ", nameof(Parse))); @@ -83,13 +83,13 @@ public class ProcessData : IProcessData } #pragma warning disable IDE0060 - private void Parse(IFileRead fileRead, Logistics logistics, List fileInfoCollection, CommaSeparatedValuesConfiguration commaSeparatedValuesConfiguration, string csvFile, MetaData metaData) + private void Parse(IFileRead fileRead, Logistics logistics, List fileInfoCollection, CommaSeparatedValuesConfiguration commaSeparatedValuesConfiguration, MetaData metaData) #pragma warning restore IDE0060 { - string[] lines = File.ReadAllLines(csvFile); + string[] lines = File.ReadAllLines(logistics.FileInfo.FullName); string line = lines[0]; string[] columns = line.Split('"'); - fileInfoCollection.Add(new FileInfo(csvFile)); + fileInfoCollection.Add(logistics.FileInfo); if (columns.Length == commaSeparatedValuesConfiguration.Columns) { string test = columns[commaSeparatedValuesConfiguration.TestIndex].Trim().Trim('"'); @@ -108,7 +108,6 @@ public class ProcessData : IProcessData MetaData = metaData; } } - } internal static List GetDescriptions(JsonElement[] jsonElements)