Add Transmission Control Protocol file handling and update PCL serialization
- Introduced FileRead and Record classes for handling file reading in the Transmission Control Protocol. - Enhanced Description, Detail, and other related classes with JSON serialization attributes for improved data handling. - Implemented methods for reading and processing files, including network stream management. - Updated unit tests to cover new functionality and ensure robust testing. - Added new PDSF file handling classes and integrated them into the project structure. - Refactored existing code to utilize source generation for JSON serialization, improving performance and maintainability.
This commit is contained in:
		| @ -6,6 +6,7 @@ using System.Collections.Generic; | ||||
| using System.Diagnostics; | ||||
| using System.IO; | ||||
| using System.Linq; | ||||
| using System.Text.Json; | ||||
|  | ||||
| namespace Adaptation.FileHandlers.OpenInsightMetrologyViewer; | ||||
|  | ||||
| @ -73,7 +74,7 @@ public class WSRequest | ||||
|     [Obsolete("For json")] public WSRequest() { } | ||||
|  | ||||
| #pragma warning disable IDE0060 | ||||
|     internal WSRequest(IFileRead fileRead, Logistics logistics, List<pcl.Description> descriptions, string processDataStandardFormat = null) | ||||
|     internal WSRequest(IFileRead fileRead, Logistics logistics, JsonElement[] jsonElements, List<pcl.Description> descriptions, string processDataStandardFormat = null) | ||||
| #pragma warning restore IDE0060 | ||||
|     { | ||||
|         Id = -1; | ||||
| @ -94,7 +95,7 @@ public class WSRequest | ||||
|             GradeMean = x.GradeMean; | ||||
|             GradeRadialGradient = x.GradeRadialGradient; | ||||
|             GradeStdDev = x.GradeStdDev; | ||||
|             Operator = logistics.MesEntity; | ||||
|             Operator = logistics.MesEntity; // different name | ||||
|             Layer = x.Layer; | ||||
|             Lot = x.Lot; | ||||
|             Model = x.Model; | ||||
| @ -182,14 +183,14 @@ public class WSRequest | ||||
|         return result; | ||||
|     } | ||||
|  | ||||
|     internal static long GetHeaderId(IFileRead fileRead, Logistics logistics, string openInsightMetrologyViewerAPI, string openInsightMetrologyViewerFileShare, int weekOfYear, WS.Results results, List<pcl.Description> descriptions) | ||||
|     internal static long GetHeaderId(IFileRead fileRead, Logistics logistics, string openInsightMetrologyViewerAPI, string openInsightMetrologyViewerFileShare, int weekOfYear, WS.Results results, JsonElement[] jsonElements, List<pcl.Description> descriptions) | ||||
|     { | ||||
|         long result; | ||||
|         if (results is not null && results.HeaderId is not null) | ||||
|             result = results.HeaderId.Value; | ||||
|         else | ||||
|         { | ||||
|             WSRequest wsRequest = new(fileRead, logistics, descriptions); | ||||
|             WSRequest wsRequest = new(fileRead, logistics, jsonElements, descriptions); | ||||
|             string directory = Path.Combine(openInsightMetrologyViewerFileShare, logistics.DateTimeFromSequence.Year.ToString(), $"WW{weekOfYear:00}"); | ||||
|             (_, WS.Results wsResults) = WS.SendData(openInsightMetrologyViewerAPI, logistics.Sequence, directory, wsRequest); | ||||
|             if (wsResults.Success is null || !wsResults.Success.Value) | ||||
|  | ||||
		Reference in New Issue
	
	Block a user