- 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.
60 lines
3.2 KiB
C#
60 lines
3.2 KiB
C#
using System.Text.Json.Serialization;
|
|
|
|
namespace Adaptation.FileHandlers.pcl;
|
|
|
|
public class Detail
|
|
{
|
|
|
|
public long Id { get; set; }
|
|
[JsonPropertyName("AreaCount")] public string AreaCount { get; set; }
|
|
[JsonPropertyName("WaferAreaTotal")] public string AreaTotal { get; set; } // different name
|
|
[JsonPropertyName("Bin1")] public string Bin1 { get; set; }
|
|
[JsonPropertyName("Bin2")] public string Bin2 { get; set; }
|
|
[JsonPropertyName("Bin3")] public string Bin3 { get; set; }
|
|
[JsonPropertyName("Bin4")] public string Bin4 { get; set; }
|
|
[JsonPropertyName("Bin5")] public string Bin5 { get; set; }
|
|
[JsonPropertyName("Bin6")] public string Bin6 { get; set; }
|
|
[JsonPropertyName("Bin7")] public string Bin7 { get; set; }
|
|
[JsonPropertyName("Bin8")] public string Bin8 { get; set; }
|
|
[JsonPropertyName("Comments")] public string Comments { get; set; }
|
|
[JsonPropertyName("Date")] public string Date { get; set; }
|
|
[JsonPropertyName("Diameter")] public string Diameter { get; set; }
|
|
[JsonPropertyName("Exclusion")] public string Exclusion { get; set; }
|
|
[JsonPropertyName("Gain")] public string Gain { get; set; }
|
|
[JsonPropertyName("WaferHazeAverage")] public string HazeAverage { get; set; } // different name
|
|
[JsonPropertyName("HazePeak")] public string HazePeak { get; set; }
|
|
[JsonPropertyName("WaferHazeRegion")] public string HazeRegion { get; set; } // different name
|
|
[JsonPropertyName("HazeRng")] public string HazeRng { get; set; }
|
|
public string HeaderUniqueId { get; set; }
|
|
[JsonPropertyName("LPDCM2")] public string LPDCM2 { get; set; }
|
|
[JsonPropertyName("LPDCount")] public string LPDCount { get; set; }
|
|
[JsonPropertyName("Laser")] public string Laser { get; set; }
|
|
[JsonPropertyName("Mean")] public string Mean { get; set; }
|
|
[JsonPropertyName("Recipe")] public string Recipe { get; set; }
|
|
[JsonPropertyName("ScratchCount")] public string ScratchCount { get; set; }
|
|
[JsonPropertyName("WaferScratchTotal")] public string ScratchTotal { get; set; } // different name
|
|
[JsonPropertyName("WaferId")] public string Slot { get; set; } // different name
|
|
[JsonPropertyName("Sort")] public string Sort { get; set; }
|
|
[JsonPropertyName("StdDev")] public string StdDev { get; set; }
|
|
[JsonPropertyName("SumOfDefects")] public string SumOfDefects { get; set; }
|
|
[JsonPropertyName("Thresh")] public string Thresh { get; set; }
|
|
[JsonPropertyName("Thruput")] public string Thruput { get; set; }
|
|
public string Title { get; set; }
|
|
public string UniqueId { get; set; }
|
|
public string Data { get; set; }
|
|
#pragma warning disable IDE1006
|
|
public int i { get; set; }
|
|
|
|
}
|
|
|
|
[JsonSourceGenerationOptions(WriteIndented = true, NumberHandling = JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
|
|
[JsonSerializable(typeof(Detail))]
|
|
internal partial class DetailSourceGenerationContext : JsonSerializerContext
|
|
{
|
|
}
|
|
|
|
[JsonSourceGenerationOptions(WriteIndented = true, NumberHandling = JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
|
|
[JsonSerializable(typeof(Detail[]))]
|
|
internal partial class DetailArraySourceGenerationContext : JsonSerializerContext
|
|
{
|
|
} |