This commit is contained in:
2024-08-19 16:52:23 -07:00
parent 65480d1c41
commit 4d5820d3d7
10 changed files with 177 additions and 36 deletions

View File

@ -35,7 +35,6 @@ public class FileRead : Shared.FileRead, IFileRead
string[] segments;
Dictionary<string, string> systemStateToNames = new();
_KeyColumn = GetPropertyValue(cellInstanceConnectionName, modelObjectParameters, "ProcessDataStandardFormat.KeyColumn");
_KeyColumn = GetPropertyValue(cellInstanceConnectionName, modelObjectParameters, "ProcessDataStandardFormat.SystemState");
_TimestampFormat = GetPropertyValue(cellInstanceConnectionName, modelObjectParameters, "ProcessDataStandardFormat.TimestampFormat");
ModelObjectParameterDefinition[] systemStates = GetProperties(cellInstanceConnectionName, modelObjectParameters, "ProcessDataStandardFormat.SystemState");
foreach (ModelObjectParameterDefinition modelObjectParameterDefinition in systemStates)
@ -139,7 +138,7 @@ public class FileRead : Shared.FileRead, IFileRead
private ReadOnlyCollection<string> GetSystemStateValues(List<string> lines, string[] columns, int keyColumnIndex)
{
List<string> results = [];
List<string> results = new();
string[] values;
string? systemState;
string keyColumnValue;
@ -170,9 +169,9 @@ public class FileRead : Shared.FileRead, IFileRead
string systemState;
int? keyColumnIndex;
string checkFileName;
List<string> headerLines = [];
List<string> headerLines = new();
ReadOnlyCollection<string> systemStateValues;
string missingKeyDirectory = Path.Combine(_FileConnectorConfiguration.SourceFileLocation, "Missing-Key");
string missingKeyDirectory = Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, "Missing-Key");
if (!Directory.Exists(missingKeyDirectory))
_ = Directory.CreateDirectory(missingKeyDirectory);
string fileName = Path.GetFileName(reportFullPath);
@ -202,18 +201,18 @@ public class FileRead : Shared.FileRead, IFileRead
keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn);
if (keyColumnIndex is null)
{
File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.SourceFileLocation, missingKeyDirectory, fileName));
File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName));
continue;
}
systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value);
if (systemStateValues.Count == 0)
{
File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.SourceFileLocation, missingKeyDirectory, fileName));
File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName));
continue;
}
lines.AddRange(headerLines);
systemState = string.Join('-', systemStateValues);
checkFileName = Path.Combine(Path.GetDirectoryName(reportFullPath) ?? throw new Exception(), $"{equipment}-{timestamp}-{systemState}.pdsf");
systemState = string.Join("-", systemStateValues);
checkFileName = Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, $"{equipment}-{timestamp}-{systemState}.pdsf");
File.WriteAllLines(checkFileName, lines);
// File.Delete(reportFullPath);
if (DateTime.TryParseExact(timestamp, _TimestampFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))

View File

@ -35,7 +35,6 @@ public class FileRead : Shared.FileRead, IFileRead
string[] segments;
Dictionary<string, string> systemStateToNames = new();
_KeyColumn = GetPropertyValue(cellInstanceConnectionName, modelObjectParameters, "ProcessDataStandardFormat.KeyColumn");
_KeyColumn = GetPropertyValue(cellInstanceConnectionName, modelObjectParameters, "ProcessDataStandardFormat.SystemState");
_TimestampFormat = GetPropertyValue(cellInstanceConnectionName, modelObjectParameters, "ProcessDataStandardFormat.TimestampFormat");
ModelObjectParameterDefinition[] systemStates = GetProperties(cellInstanceConnectionName, modelObjectParameters, "ProcessDataStandardFormat.SystemState");
foreach (ModelObjectParameterDefinition modelObjectParameterDefinition in systemStates)
@ -139,7 +138,7 @@ public class FileRead : Shared.FileRead, IFileRead
private ReadOnlyCollection<string> GetSystemStateValues(List<string> lines, string[] columns, int keyColumnIndex)
{
List<string> results = [];
List<string> results = new();
string[] values;
string? systemState;
string keyColumnValue;
@ -170,9 +169,9 @@ public class FileRead : Shared.FileRead, IFileRead
string systemState;
int? keyColumnIndex;
string checkFileName;
List<string> headerLines = [];
List<string> headerLines = new();
ReadOnlyCollection<string> systemStateValues;
string missingKeyDirectory = Path.Combine(_FileConnectorConfiguration.SourceFileLocation, "Missing-Key");
string missingKeyDirectory = Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, "Missing-Key");
if (!Directory.Exists(missingKeyDirectory))
_ = Directory.CreateDirectory(missingKeyDirectory);
string fileName = Path.GetFileName(reportFullPath);
@ -202,18 +201,18 @@ public class FileRead : Shared.FileRead, IFileRead
keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn);
if (keyColumnIndex is null)
{
File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.SourceFileLocation, missingKeyDirectory, fileName));
File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName));
continue;
}
systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value);
if (systemStateValues.Count == 0)
{
File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.SourceFileLocation, missingKeyDirectory, fileName));
File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName));
continue;
}
lines.AddRange(headerLines);
systemState = string.Join('-', systemStateValues);
checkFileName = Path.Combine(Path.GetDirectoryName(reportFullPath) ?? throw new Exception(), $"{equipment}-{timestamp}-{systemState}.pdsf");
systemState = string.Join("-", systemStateValues);
checkFileName = Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, $"{equipment}-{timestamp}-{systemState}.pdsf");
File.WriteAllLines(checkFileName, lines);
// File.Delete(reportFullPath);
if (DateTime.TryParseExact(timestamp, _TimestampFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))