Compare commits
	
		
			2 Commits
		
	
	
		
			b0b5033314
			...
			468890e5f4
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 468890e5f4 | |||
| b1696afd26 | 
| @ -38,9 +38,27 @@ stages: | ||||
|             displayName: "Echo Check" | ||||
|  | ||||
|           - script: '"C:\program files\dotnet\dotnet.exe" nuget locals all --clear' | ||||
|             displayName: "Nuget Clear" | ||||
|             displayName: "Nuget Nuget Clear" | ||||
|             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: | | ||||
|               "C:\program files\dotnet\dotnet.exe" user-secrets init | ||||
|               "C:\program files\dotnet\dotnet.exe" user-secrets set "BuildNumber" "$(Build.BuildId)" | ||||
| @ -181,9 +199,27 @@ stages: | ||||
|             displayName: "Echo Check" | ||||
|  | ||||
|           - script: '"C:\program files\dotnet\dotnet.exe" nuget locals all --clear' | ||||
|             displayName: "Nuget Clear" | ||||
|             displayName: "Nuget Nuget Clear" | ||||
|             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: | | ||||
|               "C:\program files\dotnet\dotnet.exe" user-secrets init | ||||
|               "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); | ||||
|     } | ||||
|  | ||||
|     private void MoveFile(string reportFullPath) | ||||
|     private void CopyFile(string reportFullPath) | ||||
|     { | ||||
|         string equipment; | ||||
|         string timestamp; | ||||
| @ -201,13 +201,13 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); | ||||
|             if (keyColumnIndex is null) | ||||
|             { | ||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 continue; | ||||
|             } | ||||
|             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); | ||||
|             if (systemStateValues.Count == 0) | ||||
|             { | ||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 continue; | ||||
|             } | ||||
|             lines.AddRange(headerLines); | ||||
| @ -230,8 +230,8 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); | ||||
|         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); | ||||
|         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) | ||||
|             MoveFile(reportFullPath); | ||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics[0]), tests, jsonElements, new List<FileInfo>()); | ||||
|             CopyFile(reportFullPath); | ||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>()); | ||||
|         return results; | ||||
|     } | ||||
|  | ||||
|  | ||||
| @ -159,7 +159,7 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|         return new(results); | ||||
|     } | ||||
|  | ||||
|     private void MoveFile(string reportFullPath) | ||||
|     private void CopyFile(string reportFullPath) | ||||
|     { | ||||
|         string equipment; | ||||
|         string timestamp; | ||||
| @ -201,13 +201,13 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); | ||||
|             if (keyColumnIndex is null) | ||||
|             { | ||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 continue; | ||||
|             } | ||||
|             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); | ||||
|             if (systemStateValues.Count == 0) | ||||
|             { | ||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 continue; | ||||
|             } | ||||
|             lines.AddRange(headerLines); | ||||
| @ -230,8 +230,8 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); | ||||
|         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); | ||||
|         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) | ||||
|             MoveFile(reportFullPath); | ||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics[0]), tests, jsonElements, new List<FileInfo>()); | ||||
|             CopyFile(reportFullPath); | ||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>()); | ||||
|         return results; | ||||
|     } | ||||
|  | ||||
|  | ||||
| @ -159,7 +159,7 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|         return new(results); | ||||
|     } | ||||
|  | ||||
|     private void MoveFile(string reportFullPath) | ||||
|     private void CopyFile(string reportFullPath) | ||||
|     { | ||||
|         string equipment; | ||||
|         string timestamp; | ||||
| @ -201,13 +201,13 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); | ||||
|             if (keyColumnIndex is null) | ||||
|             { | ||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 continue; | ||||
|             } | ||||
|             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); | ||||
|             if (systemStateValues.Count == 0) | ||||
|             { | ||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 continue; | ||||
|             } | ||||
|             lines.AddRange(headerLines); | ||||
| @ -230,8 +230,8 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); | ||||
|         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); | ||||
|         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) | ||||
|             MoveFile(reportFullPath); | ||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics[0]), tests, jsonElements, new List<FileInfo>()); | ||||
|             CopyFile(reportFullPath); | ||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>()); | ||||
|         return results; | ||||
|     } | ||||
|  | ||||
|  | ||||
| @ -159,7 +159,7 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|         return new(results); | ||||
|     } | ||||
|  | ||||
|     private void MoveFile(string reportFullPath) | ||||
|     private void CopyFile(string reportFullPath) | ||||
|     { | ||||
|         string equipment; | ||||
|         string timestamp; | ||||
| @ -201,13 +201,13 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); | ||||
|             if (keyColumnIndex is null) | ||||
|             { | ||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 continue; | ||||
|             } | ||||
|             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); | ||||
|             if (systemStateValues.Count == 0) | ||||
|             { | ||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 continue; | ||||
|             } | ||||
|             lines.AddRange(headerLines); | ||||
| @ -230,8 +230,8 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); | ||||
|         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); | ||||
|         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) | ||||
|             MoveFile(reportFullPath); | ||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics[0]), tests, jsonElements, new List<FileInfo>()); | ||||
|             CopyFile(reportFullPath); | ||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>()); | ||||
|         return results; | ||||
|     } | ||||
|  | ||||
|  | ||||
| @ -159,7 +159,7 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|         return new(results); | ||||
|     } | ||||
|  | ||||
|     private void MoveFile(string reportFullPath) | ||||
|     private void CopyFile(string reportFullPath) | ||||
|     { | ||||
|         string equipment; | ||||
|         string timestamp; | ||||
| @ -201,13 +201,13 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); | ||||
|             if (keyColumnIndex is null) | ||||
|             { | ||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 continue; | ||||
|             } | ||||
|             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); | ||||
|             if (systemStateValues.Count == 0) | ||||
|             { | ||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 continue; | ||||
|             } | ||||
|             lines.AddRange(headerLines); | ||||
| @ -230,8 +230,8 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); | ||||
|         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); | ||||
|         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) | ||||
|             MoveFile(reportFullPath); | ||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics[0]), tests, jsonElements, new List<FileInfo>()); | ||||
|             CopyFile(reportFullPath); | ||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>()); | ||||
|         return results; | ||||
|     } | ||||
|  | ||||
|  | ||||
| @ -159,7 +159,7 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|         return new(results); | ||||
|     } | ||||
|  | ||||
|     private void MoveFile(string reportFullPath) | ||||
|     private void CopyFile(string reportFullPath) | ||||
|     { | ||||
|         string equipment; | ||||
|         string timestamp; | ||||
| @ -201,13 +201,13 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); | ||||
|             if (keyColumnIndex is null) | ||||
|             { | ||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 continue; | ||||
|             } | ||||
|             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); | ||||
|             if (systemStateValues.Count == 0) | ||||
|             { | ||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 continue; | ||||
|             } | ||||
|             lines.AddRange(headerLines); | ||||
| @ -230,8 +230,8 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); | ||||
|         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); | ||||
|         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) | ||||
|             MoveFile(reportFullPath); | ||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics[0]), tests, jsonElements, new List<FileInfo>()); | ||||
|             CopyFile(reportFullPath); | ||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>()); | ||||
|         return results; | ||||
|     } | ||||
|  | ||||
|  | ||||
| @ -159,7 +159,7 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|         return new(results); | ||||
|     } | ||||
|  | ||||
|     private void MoveFile(string reportFullPath) | ||||
|     private void CopyFile(string reportFullPath) | ||||
|     { | ||||
|         string equipment; | ||||
|         string timestamp; | ||||
| @ -201,13 +201,13 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); | ||||
|             if (keyColumnIndex is null) | ||||
|             { | ||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 continue; | ||||
|             } | ||||
|             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); | ||||
|             if (systemStateValues.Count == 0) | ||||
|             { | ||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 continue; | ||||
|             } | ||||
|             lines.AddRange(headerLines); | ||||
| @ -230,8 +230,8 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); | ||||
|         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); | ||||
|         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) | ||||
|             MoveFile(reportFullPath); | ||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics[0]), tests, jsonElements, new List<FileInfo>()); | ||||
|             CopyFile(reportFullPath); | ||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>()); | ||||
|         return results; | ||||
|     } | ||||
|  | ||||
|  | ||||
| @ -159,7 +159,7 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|         return new(results); | ||||
|     } | ||||
|  | ||||
|     private void MoveFile(string reportFullPath) | ||||
|     private void CopyFile(string reportFullPath) | ||||
|     { | ||||
|         string equipment; | ||||
|         string timestamp; | ||||
| @ -201,13 +201,13 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); | ||||
|             if (keyColumnIndex is null) | ||||
|             { | ||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 continue; | ||||
|             } | ||||
|             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); | ||||
|             if (systemStateValues.Count == 0) | ||||
|             { | ||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 continue; | ||||
|             } | ||||
|             lines.AddRange(headerLines); | ||||
| @ -230,8 +230,8 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); | ||||
|         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); | ||||
|         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) | ||||
|             MoveFile(reportFullPath); | ||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics[0]), tests, jsonElements, new List<FileInfo>()); | ||||
|             CopyFile(reportFullPath); | ||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>()); | ||||
|         return results; | ||||
|     } | ||||
|  | ||||
|  | ||||
| @ -159,7 +159,7 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|         return new(results); | ||||
|     } | ||||
|  | ||||
|     private void MoveFile(string reportFullPath) | ||||
|     private void CopyFile(string reportFullPath) | ||||
|     { | ||||
|         string equipment; | ||||
|         string timestamp; | ||||
| @ -201,13 +201,13 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); | ||||
|             if (keyColumnIndex is null) | ||||
|             { | ||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 continue; | ||||
|             } | ||||
|             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); | ||||
|             if (systemStateValues.Count == 0) | ||||
|             { | ||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 continue; | ||||
|             } | ||||
|             lines.AddRange(headerLines); | ||||
| @ -230,8 +230,8 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); | ||||
|         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); | ||||
|         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) | ||||
|             MoveFile(reportFullPath); | ||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics[0]), tests, jsonElements, new List<FileInfo>()); | ||||
|             CopyFile(reportFullPath); | ||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>()); | ||||
|         return results; | ||||
|     } | ||||
|  | ||||
|  | ||||
| @ -159,7 +159,7 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|         return new(results); | ||||
|     } | ||||
|  | ||||
|     private void MoveFile(string reportFullPath) | ||||
|     private void CopyFile(string reportFullPath) | ||||
|     { | ||||
|         string equipment; | ||||
|         string timestamp; | ||||
| @ -201,13 +201,13 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|             keyColumnIndex = GetKeyColumnIndex(columns, _KeyColumn); | ||||
|             if (keyColumnIndex is null) | ||||
|             { | ||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 continue; | ||||
|             } | ||||
|             systemStateValues = GetSystemStateValues(lines, columns, keyColumnIndex.Value); | ||||
|             if (systemStateValues.Count == 0) | ||||
|             { | ||||
|                 File.Move(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 File.Copy(reportFullPath, Path.Combine(_FileConnectorConfiguration.AlternateTargetFolder, missingKeyDirectory, fileName)); | ||||
|                 continue; | ||||
|             } | ||||
|             lines.AddRange(headerLines); | ||||
| @ -230,8 +230,8 @@ public class FileRead : Shared.FileRead, IFileRead | ||||
|         List<Shared.Properties.IDescription> descriptions = GetDuplicatorDescriptions(jsonElements); | ||||
|         Test[] tests = (from l in descriptions select (Test)l.Test).ToArray(); | ||||
|         if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0) | ||||
|             MoveFile(reportFullPath); | ||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics[0]), tests, jsonElements, new List<FileInfo>()); | ||||
|             CopyFile(reportFullPath); | ||||
|         results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>()); | ||||
|         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; | ||||
|         string day = $"{_Logistics.DateTimeFromSequence:yyyy-MM-dd}"; | ||||
|         string weekOfYear = _Calendar.GetWeekOfYear(_Logistics.DateTimeFromSequence, CalendarWeekRule.FirstDay, DayOfWeek.Sunday).ToString("00"); | ||||
|         string weekDirectory = $"{_Logistics.DateTimeFromSequence:yyyy}_Week_{weekOfYear}"; | ||||
|         if (!_CellInstanceConnectionName.StartsWith(_CellInstanceName) && _CellInstanceConnectionNameBase == _EquipmentType) | ||||
|             directory = Path.Combine(_TracePath, _EquipmentType, "Target", weekDirectory, day, _CellInstanceName, _CellInstanceConnectionName); | ||||
|         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) { } | ||||
|         } | ||||
| #pragma warning disable CA1510 | ||||
|         if (fileRead is null) | ||||
|             throw new ArgumentNullException(nameof(fileRead)); | ||||
|         if (jsonElements is null) | ||||
|             throw new ArgumentNullException(nameof(jsonElements)); | ||||
| #pragma warning restore CA1510 | ||||
|     } | ||||
|  | ||||
|     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) | ||||
|     { | ||||
|         ProcessDataStandardFormat result; | ||||
|         long? sequence; | ||||
|         string segment; | ||||
|         string[] segments; | ||||
|         bool addToFooter = false; | ||||
| @ -186,13 +187,25 @@ internal class ProcessDataStandardFormat | ||||
|         } | ||||
|         string? linesOne = lines.Length > 0 && body.Count == 0 && columns.Count == 0 ? lines[1] : null; | ||||
|         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(), | ||||
|                      columns: columns.AsReadOnly(), | ||||
|                      footer: footer.AsReadOnly(), | ||||
|                      header: header.AsReadOnly(), | ||||
|                      inputPDSF: null, | ||||
|                      logistics: logistics, | ||||
|                      sequence: null); | ||||
|                      sequence: sequence); | ||||
|         return result; | ||||
|     } | ||||
|  | ||||
| @ -236,7 +249,7 @@ internal class ProcessDataStandardFormat | ||||
|     private static ProcessDataStandardFormat GetProcessDataStandardFormat(DateTime lastWriteTime, int columnsLine, string path, string[]? lines) | ||||
|     { | ||||
|         ProcessDataStandardFormat result; | ||||
|         long sequence; | ||||
|         long? sequence; | ||||
|         string[] segments; | ||||
|         bool addToFooter = false; | ||||
|         List<string> body = new(); | ||||
| @ -268,12 +281,13 @@ internal class ProcessDataStandardFormat | ||||
|         } | ||||
|         logistics = GetLogistics(footer, linesOne: null); | ||||
|         if (logistics.Count == 0) | ||||
|             sequence = lastWriteTime.Ticks; | ||||
|             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) ? 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(), | ||||
|                      columns: new(columns), | ||||
|                      footer: footer.AsReadOnly(), | ||||
| @ -302,7 +316,7 @@ internal class ProcessDataStandardFormat | ||||
|                 segments = bodyLine.Split('\t').ToList(); | ||||
|                 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.Remove(stringBuilder.Length - 1, 1); | ||||
| @ -378,7 +392,7 @@ internal class ProcessDataStandardFormat | ||||
|                 break; | ||||
|             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(line.Substring(0, line.Length - 1), '}'); | ||||
| @ -517,7 +531,7 @@ internal class ProcessDataStandardFormat | ||||
|                 { | ||||
|                     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("\","); | ||||
|                     } | ||||
|                 } | ||||
| @ -525,7 +539,7 @@ internal class ProcessDataStandardFormat | ||||
|                 { | ||||
|                     for (int c = 1; c < segments.Length; c++) | ||||
|                     { | ||||
|                         value = segments[c].Replace("\"", "\\\"").Replace("\\", "\\\\"); | ||||
|                         value = segments[c].Replace("\\", "\\\\").Replace("\"", "\\\""); | ||||
|                         if (string.IsNullOrEmpty(value)) | ||||
|                             _ = stringBuilder.Append('"').Append(processDataStandardFormat.Columns[c]).Append("\":").Append(value).Append("null,"); | ||||
|                         else if (value.All(char.IsDigit)) | ||||
|  | ||||
		Reference in New Issue
	
	Block a user