Compare commits
	
		
			2 Commits
		
	
	
		
			b0b5033314
			...
			468890e5f4
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 468890e5f4 | |||
| b1696afd26 | 
| @ -38,9 +38,27 @@ stages: | |||||||
|             displayName: "Echo Check" |             displayName: "Echo Check" | ||||||
|  |  | ||||||
|           - script: '"C:\program files\dotnet\dotnet.exe" nuget locals all --clear' |           - script: '"C:\program files\dotnet\dotnet.exe" nuget locals all --clear' | ||||||
|             displayName: "Nuget Clear" |             displayName: "Nuget Nuget Clear" | ||||||
|             enabled: false |             enabled: false | ||||||
|  |  | ||||||
|  |           - task: CopyFiles@2 | ||||||
|  |             displayName: 'Copy GhostPCL Files to: D:\EAF-Mesa-Integration\copy' | ||||||
|  |             inputs: | ||||||
|  |               Contents: "*" | ||||||
|  |               SourceFolder: '\\mesfs.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\GhostPCL' | ||||||
|  |               TargetFolder: 'D:\EAF-Mesa-Integration\copy\GhostPCL' | ||||||
|  |               OverWrite: true | ||||||
|  |             enabled: true | ||||||
|  |  | ||||||
|  |           - task: CopyFiles@2 | ||||||
|  |             displayName: 'Copy LincPDFC Files to: D:\EAF-Mesa-Integration\copy' | ||||||
|  |             inputs: | ||||||
|  |               Contents: "*" | ||||||
|  |               SourceFolder: '\\mesfs.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\LincPDFC' | ||||||
|  |               TargetFolder: 'D:\EAF-Mesa-Integration\copy\LincPDFC' | ||||||
|  |               OverWrite: true | ||||||
|  |             enabled: true | ||||||
|  |  | ||||||
|           - script: | |           - script: | | ||||||
|               "C:\program files\dotnet\dotnet.exe" user-secrets init |               "C:\program files\dotnet\dotnet.exe" user-secrets init | ||||||
|               "C:\program files\dotnet\dotnet.exe" user-secrets set "BuildNumber" "$(Build.BuildId)" |               "C:\program files\dotnet\dotnet.exe" user-secrets set "BuildNumber" "$(Build.BuildId)" | ||||||
| @ -181,9 +199,27 @@ stages: | |||||||
|             displayName: "Echo Check" |             displayName: "Echo Check" | ||||||
|  |  | ||||||
|           - script: '"C:\program files\dotnet\dotnet.exe" nuget locals all --clear' |           - script: '"C:\program files\dotnet\dotnet.exe" nuget locals all --clear' | ||||||
|             displayName: "Nuget Clear" |             displayName: "Nuget Nuget Clear" | ||||||
|             enabled: false |             enabled: false | ||||||
|  |  | ||||||
|  |           - task: CopyFiles@2 | ||||||
|  |             displayName: 'Copy GhostPCL Files to: D:\EAF-Mesa-Integration\copy' | ||||||
|  |             inputs: | ||||||
|  |               Contents: "*" | ||||||
|  |               SourceFolder: '\\mestsa003.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\GhostPCL' | ||||||
|  |               TargetFolder: 'D:\EAF-Mesa-Integration\copy\GhostPCL' | ||||||
|  |               OverWrite: true | ||||||
|  |             enabled: true | ||||||
|  |  | ||||||
|  |           - task: CopyFiles@2 | ||||||
|  |             displayName: 'Copy LincPDFC Files to: D:\EAF-Mesa-Integration\copy' | ||||||
|  |             inputs: | ||||||
|  |               Contents: "*" | ||||||
|  |               SourceFolder: '\\mestsa003.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\LincPDFC' | ||||||
|  |               TargetFolder: 'D:\EAF-Mesa-Integration\copy\LincPDFC' | ||||||
|  |               OverWrite: true | ||||||
|  |             enabled: true | ||||||
|  |  | ||||||
|           - script: | |           - script: | | ||||||
|               "C:\program files\dotnet\dotnet.exe" user-secrets init |               "C:\program files\dotnet\dotnet.exe" user-secrets init | ||||||
|               "C:\program files\dotnet\dotnet.exe" user-secrets set "BuildNumber" "$(Build.BuildId)" |               "C:\program files\dotnet\dotnet.exe" user-secrets set "BuildNumber" "$(Build.BuildId)" | ||||||
|  | |||||||
| @ -159,7 +159,7 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|         return new(results); |         return new(results); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private void MoveFile(string reportFullPath) |     private void CopyFile(string reportFullPath) | ||||||
|     { |     { | ||||||
|         string equipment; |         string equipment; | ||||||
|         string timestamp; |         string timestamp; | ||||||
| @ -201,13 +201,13 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); |             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); | ||||||
|             if (keyColumnIndex is null) |             if (keyColumnIndex is null) | ||||||
|             { |             { | ||||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); |                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); |             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); | ||||||
|             if (systemStateValues.Count == 0) |             if (systemStateValues.Count == 0) | ||||||
|             { |             { | ||||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); |                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|             lines.AddRange(headerLines); |             lines.AddRange(headerLines); | ||||||
| @ -230,8 +230,8 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); |         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); | ||||||
|         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); |         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); | ||||||
|         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) |         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) | ||||||
|             MoveFile(reportFullPath); |             CopyFile(reportFullPath); | ||||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics[0]), tests, jsonElements, new List<FileInfo>()); |         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>()); | ||||||
|         return results; |         return results; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | |||||||
| @ -159,7 +159,7 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|         return new(results); |         return new(results); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private void MoveFile(string reportFullPath) |     private void CopyFile(string reportFullPath) | ||||||
|     { |     { | ||||||
|         string equipment; |         string equipment; | ||||||
|         string timestamp; |         string timestamp; | ||||||
| @ -201,13 +201,13 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); |             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); | ||||||
|             if (keyColumnIndex is null) |             if (keyColumnIndex is null) | ||||||
|             { |             { | ||||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); |                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); |             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); | ||||||
|             if (systemStateValues.Count == 0) |             if (systemStateValues.Count == 0) | ||||||
|             { |             { | ||||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); |                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|             lines.AddRange(headerLines); |             lines.AddRange(headerLines); | ||||||
| @ -230,8 +230,8 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); |         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); | ||||||
|         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); |         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); | ||||||
|         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) |         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) | ||||||
|             MoveFile(reportFullPath); |             CopyFile(reportFullPath); | ||||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics[0]), tests, jsonElements, new List<FileInfo>()); |         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>()); | ||||||
|         return results; |         return results; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | |||||||
| @ -159,7 +159,7 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|         return new(results); |         return new(results); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private void MoveFile(string reportFullPath) |     private void CopyFile(string reportFullPath) | ||||||
|     { |     { | ||||||
|         string equipment; |         string equipment; | ||||||
|         string timestamp; |         string timestamp; | ||||||
| @ -201,13 +201,13 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); |             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); | ||||||
|             if (keyColumnIndex is null) |             if (keyColumnIndex is null) | ||||||
|             { |             { | ||||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); |                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); |             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); | ||||||
|             if (systemStateValues.Count == 0) |             if (systemStateValues.Count == 0) | ||||||
|             { |             { | ||||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); |                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|             lines.AddRange(headerLines); |             lines.AddRange(headerLines); | ||||||
| @ -230,8 +230,8 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); |         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); | ||||||
|         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); |         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); | ||||||
|         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) |         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) | ||||||
|             MoveFile(reportFullPath); |             CopyFile(reportFullPath); | ||||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics[0]), tests, jsonElements, new List<FileInfo>()); |         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>()); | ||||||
|         return results; |         return results; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | |||||||
| @ -159,7 +159,7 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|         return new(results); |         return new(results); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private void MoveFile(string reportFullPath) |     private void CopyFile(string reportFullPath) | ||||||
|     { |     { | ||||||
|         string equipment; |         string equipment; | ||||||
|         string timestamp; |         string timestamp; | ||||||
| @ -201,13 +201,13 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); |             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); | ||||||
|             if (keyColumnIndex is null) |             if (keyColumnIndex is null) | ||||||
|             { |             { | ||||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); |                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); |             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); | ||||||
|             if (systemStateValues.Count == 0) |             if (systemStateValues.Count == 0) | ||||||
|             { |             { | ||||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); |                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|             lines.AddRange(headerLines); |             lines.AddRange(headerLines); | ||||||
| @ -230,8 +230,8 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); |         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); | ||||||
|         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); |         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); | ||||||
|         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) |         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) | ||||||
|             MoveFile(reportFullPath); |             CopyFile(reportFullPath); | ||||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics[0]), tests, jsonElements, new List<FileInfo>()); |         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>()); | ||||||
|         return results; |         return results; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | |||||||
| @ -159,7 +159,7 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|         return new(results); |         return new(results); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private void MoveFile(string reportFullPath) |     private void CopyFile(string reportFullPath) | ||||||
|     { |     { | ||||||
|         string equipment; |         string equipment; | ||||||
|         string timestamp; |         string timestamp; | ||||||
| @ -201,13 +201,13 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); |             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); | ||||||
|             if (keyColumnIndex is null) |             if (keyColumnIndex is null) | ||||||
|             { |             { | ||||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); |                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); |             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); | ||||||
|             if (systemStateValues.Count == 0) |             if (systemStateValues.Count == 0) | ||||||
|             { |             { | ||||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); |                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|             lines.AddRange(headerLines); |             lines.AddRange(headerLines); | ||||||
| @ -230,8 +230,8 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); |         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); | ||||||
|         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); |         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); | ||||||
|         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) |         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) | ||||||
|             MoveFile(reportFullPath); |             CopyFile(reportFullPath); | ||||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics[0]), tests, jsonElements, new List<FileInfo>()); |         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>()); | ||||||
|         return results; |         return results; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | |||||||
| @ -159,7 +159,7 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|         return new(results); |         return new(results); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private void MoveFile(string reportFullPath) |     private void CopyFile(string reportFullPath) | ||||||
|     { |     { | ||||||
|         string equipment; |         string equipment; | ||||||
|         string timestamp; |         string timestamp; | ||||||
| @ -201,13 +201,13 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); |             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); | ||||||
|             if (keyColumnIndex is null) |             if (keyColumnIndex is null) | ||||||
|             { |             { | ||||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); |                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); |             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); | ||||||
|             if (systemStateValues.Count == 0) |             if (systemStateValues.Count == 0) | ||||||
|             { |             { | ||||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); |                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|             lines.AddRange(headerLines); |             lines.AddRange(headerLines); | ||||||
| @ -230,8 +230,8 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); |         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); | ||||||
|         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); |         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); | ||||||
|         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) |         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) | ||||||
|             MoveFile(reportFullPath); |             CopyFile(reportFullPath); | ||||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics[0]), tests, jsonElements, new List<FileInfo>()); |         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>()); | ||||||
|         return results; |         return results; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | |||||||
| @ -159,7 +159,7 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|         return new(results); |         return new(results); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private void MoveFile(string reportFullPath) |     private void CopyFile(string reportFullPath) | ||||||
|     { |     { | ||||||
|         string equipment; |         string equipment; | ||||||
|         string timestamp; |         string timestamp; | ||||||
| @ -201,13 +201,13 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); |             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); | ||||||
|             if (keyColumnIndex is null) |             if (keyColumnIndex is null) | ||||||
|             { |             { | ||||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); |                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); |             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); | ||||||
|             if (systemStateValues.Count == 0) |             if (systemStateValues.Count == 0) | ||||||
|             { |             { | ||||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); |                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|             lines.AddRange(headerLines); |             lines.AddRange(headerLines); | ||||||
| @ -230,8 +230,8 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); |         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); | ||||||
|         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); |         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); | ||||||
|         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) |         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) | ||||||
|             MoveFile(reportFullPath); |             CopyFile(reportFullPath); | ||||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics[0]), tests, jsonElements, new List<FileInfo>()); |         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>()); | ||||||
|         return results; |         return results; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | |||||||
| @ -159,7 +159,7 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|         return new(results); |         return new(results); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private void MoveFile(string reportFullPath) |     private void CopyFile(string reportFullPath) | ||||||
|     { |     { | ||||||
|         string equipment; |         string equipment; | ||||||
|         string timestamp; |         string timestamp; | ||||||
| @ -201,13 +201,13 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); |             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); | ||||||
|             if (keyColumnIndex is null) |             if (keyColumnIndex is null) | ||||||
|             { |             { | ||||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); |                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); |             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); | ||||||
|             if (systemStateValues.Count == 0) |             if (systemStateValues.Count == 0) | ||||||
|             { |             { | ||||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); |                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|             lines.AddRange(headerLines); |             lines.AddRange(headerLines); | ||||||
| @ -230,8 +230,8 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); |         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); | ||||||
|         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); |         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); | ||||||
|         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) |         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) | ||||||
|             MoveFile(reportFullPath); |             CopyFile(reportFullPath); | ||||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics[0]), tests, jsonElements, new List<FileInfo>()); |         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>()); | ||||||
|         return results; |         return results; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | |||||||
| @ -159,7 +159,7 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|         return new(results); |         return new(results); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private void MoveFile(string reportFullPath) |     private void CopyFile(string reportFullPath) | ||||||
|     { |     { | ||||||
|         string equipment; |         string equipment; | ||||||
|         string timestamp; |         string timestamp; | ||||||
| @ -201,13 +201,13 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); |             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); | ||||||
|             if (keyColumnIndex is null) |             if (keyColumnIndex is null) | ||||||
|             { |             { | ||||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); |                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); |             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); | ||||||
|             if (systemStateValues.Count == 0) |             if (systemStateValues.Count == 0) | ||||||
|             { |             { | ||||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); |                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|             lines.AddRange(headerLines); |             lines.AddRange(headerLines); | ||||||
| @ -230,8 +230,8 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); |         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); | ||||||
|         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); |         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); | ||||||
|         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) |         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) | ||||||
|             MoveFile(reportFullPath); |             CopyFile(reportFullPath); | ||||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics[0]), tests, jsonElements, new List<FileInfo>()); |         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>()); | ||||||
|         return results; |         return results; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | |||||||
| @ -159,7 +159,7 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|         return new(results); |         return new(results); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private void MoveFile(string reportFullPath) |     private void CopyFile(string reportFullPath) | ||||||
|     { |     { | ||||||
|         string equipment; |         string equipment; | ||||||
|         string timestamp; |         string timestamp; | ||||||
| @ -201,13 +201,13 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); |             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); | ||||||
|             if (keyColumnIndex is null) |             if (keyColumnIndex is null) | ||||||
|             { |             { | ||||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); |                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); |             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); | ||||||
|             if (systemStateValues.Count == 0) |             if (systemStateValues.Count == 0) | ||||||
|             { |             { | ||||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); |                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|             lines.AddRange(headerLines); |             lines.AddRange(headerLines); | ||||||
| @ -230,8 +230,8 @@ public class FileRead : Shared.FileRead, IFileRead | |||||||
|         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); |         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); | ||||||
|         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); |         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); | ||||||
|         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) |         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) | ||||||
|             MoveFile(reportFullPath); |             CopyFile(reportFullPath); | ||||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics[0]), tests, jsonElements, new List<FileInfo>()); |         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>()); | ||||||
|         return results; |         return results; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | |||||||
| @ -478,27 +478,14 @@ public class FileRead : Properties.IFileRead | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     protected void WritePDSF(IFileRead fileRead, JsonElement[] jsonElements) |     protected static void WritePDSF(IFileRead fileRead, JsonElement[] jsonElements) | ||||||
|     { |     { | ||||||
|         string directory; | #pragma warning disable CA1510 | ||||||
|         string day = $"{_Logistics.DateTimeFromSequence:yyyy-MM-dd}"; |         if (fileRead is null) | ||||||
|         string weekOfYear = _Calendar.GetWeekOfYear(_Logistics.DateTimeFromSequence, CalendarWeekRule.FirstDay, DayOfWeek.Sunday).ToString("00"); |             throw new ArgumentNullException(nameof(fileRead)); | ||||||
|         string weekDirectory = $"{_Logistics.DateTimeFromSequence:yyyy}_Week_{weekOfYear}"; |         if (jsonElements is null) | ||||||
|         if (!_CellInstanceConnectionName.StartsWith(_CellInstanceName) && _CellInstanceConnectionNameBase == _EquipmentType) |             throw new ArgumentNullException(nameof(jsonElements)); | ||||||
|             directory = Path.Combine(_TracePath, _EquipmentType, "Target", weekDirectory, day, _CellInstanceName, _CellInstanceConnectionName); | #pragma warning restore CA1510 | ||||||
|         else |  | ||||||
|             directory = Path.Combine(_TracePath, _EquipmentType, "Source", weekDirectory, day, _CellInstanceName, _CellInstanceConnectionName); |  | ||||||
|         if (!Directory.Exists(directory)) |  | ||||||
|             _ = Directory.CreateDirectory(directory); |  | ||||||
|         string file = Path.Combine(directory, string.Concat(_Logistics.MesEntity, "_", _Logistics.Sequence, ".ipdsf")); |  | ||||||
|         string lines = ProcessDataStandardFormat.GetPDSFText(fileRead, _Logistics, jsonElements, logisticsText: string.Empty); |  | ||||||
|         File.WriteAllText(file, lines); |  | ||||||
|         if (_Logistics.TotalSecondsSinceLastWriteTimeFromSequence > 600) |  | ||||||
|         { |  | ||||||
|             try |  | ||||||
|             { File.SetLastWriteTime(file, _Logistics.DateTimeFromSequence); } |  | ||||||
|             catch (Exception) { } |  | ||||||
|         } |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     protected void WaitForThread(Thread thread, List<Exception> threadExceptions) |     protected void WaitForThread(Thread thread, List<Exception> threadExceptions) | ||||||
|  | |||||||
| @ -136,6 +136,7 @@ internal class ProcessDataStandardFormat | |||||||
|     internal static ProcessDataStandardFormat GetProcessDataStandardFormat(string reportFullPath, string[]? lines = null, int columnsLine = 6) |     internal static ProcessDataStandardFormat GetProcessDataStandardFormat(string reportFullPath, string[]? lines = null, int columnsLine = 6) | ||||||
|     { |     { | ||||||
|         ProcessDataStandardFormat result; |         ProcessDataStandardFormat result; | ||||||
|  |         long? sequence; | ||||||
|         string segment; |         string segment; | ||||||
|         string[] segments; |         string[] segments; | ||||||
|         bool addToFooter = false; |         bool addToFooter = false; | ||||||
| @ -186,13 +187,25 @@ internal class ProcessDataStandardFormat | |||||||
|         } |         } | ||||||
|         string? linesOne = lines.Length > 0 && body.Count == 0 && columns.Count == 0 ? lines[1] : null; |         string? linesOne = lines.Length > 0 && body.Count == 0 && columns.Count == 0 ? lines[1] : null; | ||||||
|         logistics = GetLogistics(footer, linesOne: linesOne); |         logistics = GetLogistics(footer, linesOne: linesOne); | ||||||
|  |         if (logistics.Count == 0) | ||||||
|  |             sequence = null; | ||||||
|  |         else | ||||||
|  |         { | ||||||
|  |             segments = logistics[0].Split(new string[] { "SEQUENCE=" }, StringSplitOptions.None); | ||||||
|  |             sequence = segments.Length < 2 || !long.TryParse(segments[1].Split(';')[0], out long s) ? null : s; | ||||||
|  |         } | ||||||
|  |         if (sequence is null && !string.IsNullOrEmpty(reportFullPath)) | ||||||
|  |         { | ||||||
|  |             FileInfo fileInfo = new(reportFullPath); | ||||||
|  |             sequence = fileInfo.LastWriteTime.Ticks; | ||||||
|  |         } | ||||||
|         result = new(body: body.AsReadOnly(), |         result = new(body: body.AsReadOnly(), | ||||||
|                      columns: columns.AsReadOnly(), |                      columns: columns.AsReadOnly(), | ||||||
|                      footer: footer.AsReadOnly(), |                      footer: footer.AsReadOnly(), | ||||||
|                      header: header.AsReadOnly(), |                      header: header.AsReadOnly(), | ||||||
|                      inputPDSF: null, |                      inputPDSF: null, | ||||||
|                      logistics: logistics, |                      logistics: logistics, | ||||||
|                      sequence: null); |                      sequence: sequence); | ||||||
|         return result; |         return result; | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -236,7 +249,7 @@ internal class ProcessDataStandardFormat | |||||||
|     private static ProcessDataStandardFormat GetProcessDataStandardFormat(DateTime lastWriteTime, int columnsLine, string path, string[]? lines) |     private static ProcessDataStandardFormat GetProcessDataStandardFormat(DateTime lastWriteTime, int columnsLine, string path, string[]? lines) | ||||||
|     { |     { | ||||||
|         ProcessDataStandardFormat result; |         ProcessDataStandardFormat result; | ||||||
|         long sequence; |         long? sequence; | ||||||
|         string[] segments; |         string[] segments; | ||||||
|         bool addToFooter = false; |         bool addToFooter = false; | ||||||
|         List<string> body = new(); |         List<string> body = new(); | ||||||
| @ -268,12 +281,13 @@ internal class ProcessDataStandardFormat | |||||||
|         } |         } | ||||||
|         logistics = GetLogistics(footer, linesOne: null); |         logistics = GetLogistics(footer, linesOne: null); | ||||||
|         if (logistics.Count == 0) |         if (logistics.Count == 0) | ||||||
|             sequence = lastWriteTime.Ticks; |             sequence = null; | ||||||
|         else |         else | ||||||
|         { |         { | ||||||
|             segments = logistics[0].Split(new string[] { "SEQUENCE=" }, StringSplitOptions.None); |             segments = logistics[0].Split(new string[] { "SEQUENCE=" }, StringSplitOptions.None); | ||||||
|             sequence = segments.Length < 2 || !long.TryParse(segments[1].Split(';')[0], out long s) ? lastWriteTime.Ticks : s; |             sequence = segments.Length < 2 || !long.TryParse(segments[1].Split(';')[0], out long s) ? null : s; | ||||||
|         } |         } | ||||||
|  |         sequence ??= lastWriteTime.Ticks; | ||||||
|         result = new(body: body.AsReadOnly(), |         result = new(body: body.AsReadOnly(), | ||||||
|                      columns: new(columns), |                      columns: new(columns), | ||||||
|                      footer: footer.AsReadOnly(), |                      footer: footer.AsReadOnly(), | ||||||
| @ -302,7 +316,7 @@ internal class ProcessDataStandardFormat | |||||||
|                 segments = bodyLine.Split('\t').ToList(); |                 segments = bodyLine.Split('\t').ToList(); | ||||||
|                 for (int c = 0; c < segments.Count; c++) |                 for (int c = 0; c < segments.Count; c++) | ||||||
|                 { |                 { | ||||||
|                     value = segments[c].Replace("\"", "\\\"").Replace("\\", "\\\\"); |                     value = segments[c].Replace("\\", "\\\\").Replace("\"", "\\\""); | ||||||
|                     _ = stringBuilder.Append('"').Append(processDataStandardFormat.Columns[c]).Append("\":\"").Append(value).Append("\","); |                     _ = stringBuilder.Append('"').Append(processDataStandardFormat.Columns[c]).Append("\":\"").Append(value).Append("\","); | ||||||
|                 } |                 } | ||||||
|                 _ = stringBuilder.Remove(stringBuilder.Length - 1, 1); |                 _ = stringBuilder.Remove(stringBuilder.Length - 1, 1); | ||||||
| @ -378,7 +392,7 @@ internal class ProcessDataStandardFormat | |||||||
|                 break; |                 break; | ||||||
|             for (int c = 0; c < segments.Length; c++) |             for (int c = 0; c < segments.Length; c++) | ||||||
|             { |             { | ||||||
|                 value = segments[c].Replace("\"", "\\\"").Replace("\\", "\\\\"); |                 value = segments[c].Replace("\\", "\\\\").Replace("\"", "\\\""); | ||||||
|                 line += string.Concat('"', processDataStandardFormat.InputPDSF.Columns[c].Trim('"'), '"', ':', '"', value, '"', ','); |                 line += string.Concat('"', processDataStandardFormat.InputPDSF.Columns[c].Trim('"'), '"', ':', '"', value, '"', ','); | ||||||
|             } |             } | ||||||
|             line = string.Concat(line.Substring(0, line.Length - 1), '}'); |             line = string.Concat(line.Substring(0, line.Length - 1), '}'); | ||||||
| @ -517,7 +531,7 @@ internal class ProcessDataStandardFormat | |||||||
|                 { |                 { | ||||||
|                     for (int c = 1; c < segments.Length; c++) |                     for (int c = 1; c < segments.Length; c++) | ||||||
|                     { |                     { | ||||||
|                         value = segments[c].Replace("\"", "\\\"").Replace("\\", "\\\\"); |                         value = segments[c].Replace("\\", "\\\\").Replace("\"", "\\\""); | ||||||
|                         _ = stringBuilder.Append('"').Append(processDataStandardFormat.Columns[c]).Append("\":\"").Append(value).Append("\","); |                         _ = stringBuilder.Append('"').Append(processDataStandardFormat.Columns[c]).Append("\":\"").Append(value).Append("\","); | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
| @ -525,7 +539,7 @@ internal class ProcessDataStandardFormat | |||||||
|                 { |                 { | ||||||
|                     for (int c = 1; c < segments.Length; c++) |                     for (int c = 1; c < segments.Length; c++) | ||||||
|                     { |                     { | ||||||
|                         value = segments[c].Replace("\"", "\\\"").Replace("\\", "\\\\"); |                         value = segments[c].Replace("\\", "\\\\").Replace("\"", "\\\""); | ||||||
|                         if (string.IsNullOrEmpty(value)) |                         if (string.IsNullOrEmpty(value)) | ||||||
|                             _ = stringBuilder.Append('"').Append(processDataStandardFormat.Columns[c]).Append("\":").Append(value).Append("null,"); |                             _ = stringBuilder.Append('"').Append(processDataStandardFormat.Columns[c]).Append("\":").Append(value).Append("null,"); | ||||||
|                         else if (value.All(char.IsDigit)) |                         else if (value.All(char.IsDigit)) | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user