using Adaptation.Shared; using Adaptation.Shared.Properties; using System; using System.Collections.Generic; using System.Linq; namespace Adaptation.FileHandlers.MET08RESIMAPCDE { public class WSRequest { public bool SentToMetrology { get; set; } public bool SentToSPC { get; set; } // public string AutoOptimizeGain { get; set; } public string AutoProbeHeightSet { get; set; } public string Avg { get; set; } public string CellName { get; set; } public string DLRatio { get; set; } public string DataReject { get; set; } public string Date { get; set; } public string Engineer { get; set; } public string EquipId { get; set; } public string FileName { get; set; } public string FilePath { get; set; } public string Id { get; set; } public string Layer { get; set; } public string LotId { get; set; } public string Op { get; set; } public string PSN { get; set; } public string RDS { get; set; } public string Reactor { get; set; } public string Recipe { get; set; } public string ResistivitySpec { get; set; } public string Run { get; set; } public string SemiRadial { get; set; } public string StDev { get; set; } public string Temp { get; set; } public string UniqueId { get; set; } public string Zone { get; set; } public List Details { get; protected set; } [Obsolete("For json")] public WSRequest() { } internal WSRequest(IFileRead fileRead, Logistics logistics, List descriptions) { Id = "-1"; if (fileRead is null) { } CellName = logistics.MesEntity; Details = new List(); if (descriptions[0] is not pcl.Description x) throw new Exception(); //Header { AutoOptimizeGain = x.AutoOptimizeGain; AutoProbeHeightSet = x.AutoProbeHeightSet; Avg = x.Avg; DLRatio = x.DLRatio; DataReject = x.DataReject; Date = x.Date; Op = x.Employee; Engineer = x.Engineer; EquipId = x.EquipId; FileName = x.FileName; Layer = x.Layer; LotId = x.Lot; PSN = x.PSN; RDS = x.RDS; Reactor = x.Reactor; Recipe = x.Recipe; ResistivitySpec = x.ResistivitySpec; Run = x.Run; SemiRadial = x.SemiRadial; StDev = x.StdDev; Temp = x.Temp; UniqueId = x.UniqueId; Zone = x.Zone; } pcl.Detail detail; foreach (pcl.Description description in descriptions) { detail = new pcl.Detail { HeaderUniqueId = description.HeaderUniqueId, Merit = description.Merit, Pt = description.Pt, R = description.R, Rs = description.Rs, T = description.T, UniqueId = description.UniqueId }; Details.Add(detail); } if (Date is null) Date = logistics.DateTimeFromSequence.ToString(); if (UniqueId is null && Details.Any()) UniqueId = Details[0].HeaderUniqueId; string onlyWSRequest = string.Empty; FilePath = onlyWSRequest; } } }