using Adaptation.Shared; using Adaptation.Shared.Properties; using System; using System.Collections.Generic; using System.Linq; namespace Adaptation.FileHandlers.MET08DDUPSFS6420; public class WSRequest { public long Id { get; set; } public string AreaCountAvg { get; set; } public string AreaCountMax { get; set; } public string AreaCountMin { get; set; } public string AreaCountStdDev { get; set; } public string AreaTotalAvg { get; set; } public string AreaTotalMax { get; set; } public string AreaTotalMin { get; set; } public string AreaTotalStdDev { get; set; } public string Date { get; set; } public string HazeAverageAvg { get; set; } public string HazeAverageMax { get; set; } public string HazeAverageMin { get; set; } public string HazeAverageStdDev { get; set; } public string HazeRegionAvg { get; set; } public string HazeRegionMax { get; set; } public string HazeRegionMin { get; set; } public string HazeRegionStdDev { get; set; } public string Layer { get; set; } public string LotID { get; set; } public string LPDCM2Avg { get; set; } public string LPDCM2Max { get; set; } public string LPDCM2Min { get; set; } public string LPDCM2StdDev { get; set; } public string LPDCountAvg { get; set; } public string LPDCountMax { get; set; } public string LPDCountMin { get; set; } public string LPDCountStdDev { get; set; } public string Operator { get; set; } public string ParseErrorText { get; set; } public string PSN { get; set; } public string RDS { get; set; } public string Reactor { get; set; } public string Recipe { get; set; } public string ScratchCountAvg { get; set; } public string ScratchCountMax { get; set; } public string ScratchCountMin { get; set; } public string ScratchCountStdDev { get; set; } public string ScratchTotalAvg { get; set; } public string ScratchTotalMax { get; set; } public string ScratchTotalMin { get; set; } public string ScratchTotalStdDev { get; set; } public string SumOfDefectsAvg { get; set; } public string SumOfDefectsMax { get; set; } public string SumOfDefectsMin { get; set; } public string SumOfDefectsStdDev { get; set; } public string Title { get; set; } public string UniqueId { get; set; } public string Zone { get; set; } public string CellName { get; set; } public string Data { get; set; } public int i { get; set; } public List Details { get; protected set; } [Obsolete("For json")] public WSRequest() { } internal WSRequest(IFileRead fileRead, Logistics logistics, List descriptions) { if (fileRead is null) { } i = -1; Id = 0; Zone = null; Layer = null; Title = null; Data = "*Data*"; Details = new List(); CellName = logistics.MesEntity; pcl.Description x = descriptions[0]; //Header { AreaCountAvg = x.AreaCountAvg; AreaCountMax = x.AreaCountMax; AreaCountMin = x.AreaCountMin; AreaCountStdDev = x.AreaCountStdDev; AreaTotalAvg = x.AreaTotalAvg; AreaTotalMax = x.AreaTotalMax; AreaTotalMin = x.AreaTotalMin; AreaTotalStdDev = x.AreaTotalStdDev; Date = x.Date; HazeAverageAvg = x.HazeAverageAvg; HazeAverageMax = x.HazeAverageMax; HazeAverageMin = x.HazeAverageMin; HazeAverageStdDev = x.HazeAverageStdDev; HazeRegionAvg = x.HazeRegionAvg; HazeRegionMax = x.HazeRegionMax; HazeRegionMin = x.HazeRegionMin; HazeRegionStdDev = x.HazeRegionStdDev; LotID = x.Lot; LPDCM2Avg = x.LPDCM2Avg; LPDCM2Max = x.LPDCM2Max; LPDCM2Min = x.LPDCM2Min; LPDCM2StdDev = x.LPDCM2StdDev; LPDCountAvg = x.LPDCountAvg; LPDCountMax = x.LPDCountMax; LPDCountMin = x.LPDCountMin; LPDCountStdDev = x.LPDCountStdDev; ParseErrorText = x.ParseErrorText; PSN = x.PSN; RDS = x.RDS; Reactor = x.Reactor; Recipe = x.Recipe; ScratchCountAvg = x.ScratchCountAvg; ScratchCountMax = x.ScratchCountMax; ScratchCountMin = x.ScratchCountMin; ScratchCountStdDev = x.ScratchCountStdDev; ScratchTotalAvg = x.ScratchTotalAvg; ScratchTotalMax = x.ScratchTotalMax; ScratchTotalMin = x.ScratchTotalMin; ScratchTotalStdDev = x.ScratchTotalStdDev; SumOfDefectsAvg = x.SumOfDefectsAvg; SumOfDefectsMax = x.SumOfDefectsMax; SumOfDefectsMin = x.SumOfDefectsMin; SumOfDefectsStdDev = x.SumOfDefectsStdDev; UniqueId = x.UniqueId; } pcl.Detail detail; foreach (pcl.Description description in descriptions) { detail = new pcl.Detail { Data = "*Data*", i = -1, Id = 0, //item.Id, AreaCount = description.AreaCount, AreaTotal = description.AreaTotal, Bin1 = description.Bin1, Bin2 = description.Bin2, Bin3 = description.Bin3, Bin4 = description.Bin4, Bin5 = description.Bin5, Bin6 = description.Bin6, Bin7 = description.Bin7, Bin8 = description.Bin8, Comments = description.Comments, Date = description.Date, Diameter = description.Diameter, Exclusion = description.Exclusion, Gain = description.Gain, HazeAverage = description.HazeAverage, HazePeak = description.HazePeak, HazeRegion = description.HazeRegion, HazeRng = description.HazeRng, HeaderUniqueId = description.HeaderUniqueId, LPDCM2 = description.LPDCM2, LPDCount = description.LPDCount, Laser = description.Laser, Mean = description.Mean, Recipe = description.Recipe, ScratchCount = description.ScratchCount, ScratchTotal = description.ScratchTotal, Slot = description.Slot, Sort = description.Sort, StdDev = description.StdDev, SumOfDefects = description.SumOfDefects, Thresh = description.Thresh, Thruput = description.Thruput, Title = null, UniqueId = description.UniqueId }; Details.Add(detail); } Date = logistics.DateTimeFromSequence.ToString(); if (UniqueId is null && Details.Any()) UniqueId = Details[0].HeaderUniqueId; for (int i = 0; i < Details.Count; i++) { if (string.IsNullOrEmpty(Details[i].Bin1)) Details[i].Bin1 = null; if (string.IsNullOrEmpty(Details[i].Bin2)) Details[i].Bin2 = null; if (string.IsNullOrEmpty(Details[i].Bin3)) Details[i].Bin3 = null; if (string.IsNullOrEmpty(Details[i].Bin4)) Details[i].Bin4 = null; if (string.IsNullOrEmpty(Details[i].Bin5)) Details[i].Bin5 = null; if (string.IsNullOrEmpty(Details[i].Bin6)) Details[i].Bin6 = null; if (string.IsNullOrEmpty(Details[i].Bin7)) Details[i].Bin7 = null; if (string.IsNullOrEmpty(Details[i].Bin8)) Details[i].Bin8 = null; } } }