using Adaptation.Shared.Metrology; using System; using System.Collections.Generic; using System.Linq; namespace Adaptation.Helpers { public partial class ProcessData { public class WSRequest { public bool SentToMetrology { get; set; } public bool SentToSPC { get; set; } // public string Area { get; set; } public string Ccomp { get; set; } public string CellName { get; set; } public string CondType { get; set; } public string Date { get; set; } public string FlatZMean { get; set; } public string FlatZRadialGradient { get; set; } public string FlatZStdDev { get; set; } public string Folder { get; set; } public string GLimit { get; set; } public string GradeMean { get; set; } public string GradeRadialGradient { get; set; } public string GradeStdDev { get; set; } public string Id { get; set; } public string Layer { get; set; } public string Lot { get; set; } public string Model { get; set; } public string NAvgMean { get; set; } public string NAvgRadialGradient { get; set; } public string NAvgStdDev { get; set; } public string NslMean { get; set; } public string NslRadialGradient { get; set; } public string NslStdDev { get; set; } public string Operator { get; set; } public string PSN { get; set; } public string Pattern { get; set; } public string PhaseMean { get; set; } public string PhaseRadialGradient { get; set; } public string PhaseStdDev { get; set; } public string Plan { get; set; } public string RDS { get; set; } public string RampRate { get; set; } public string Reactor { get; set; } public string RhoAvgMean { get; set; } public string RhoAvgRadialGradient { get; set; } public string RhoAvgStdDev { get; set; } public string RhoMethod { get; set; } public string RhoslMean { get; set; } public string RhoslRadialGradient { get; set; } public string RhoslStdDev { get; set; } public string RsMean { get; set; } public string RsRadialGradient { get; set; } public string RsStdDev { get; set; } public string SetupFile { get; set; } public string StartVoltage { get; set; } public string StopVoltage { get; set; } public string UniqueId { get; set; } public string VdMean { get; set; } public string VdRadialGradient { get; set; } public string VdStdDev { get; set; } public string Wafer { get; set; } public string WaferSize { get; set; } public string Zone { get; set; } public List Details { get; protected set; } [Obsolete("For json")] public WSRequest() { } internal WSRequest(ILogic logic, List descriptions) { Id = string.Empty; Details = new List(); CellName = logic.Logistics.MesEntity; FileRead.Description x = descriptions[0]; //Header { Area = x.Area; Ccomp = x.Ccomp; CondType = x.CondType; Date = x.Date; FlatZMean = x.FlatZMean; FlatZRadialGradient = x.FlatZRadialGradient; FlatZStdDev = x.FlatZStdDev; Folder = x.Folder; GLimit = x.GLimit; GradeMean = x.GradeMean; GradeRadialGradient = x.GradeRadialGradient; GradeStdDev = x.GradeStdDev; Operator = x.Employee; Layer = x.Layer; Lot = x.Lot; Model = x.Model; NAvgMean = x.NAvgMean; NAvgRadialGradient = x.NAvgRadialGradient; NAvgStdDev = x.NAvgStdDev; NslMean = x.NslMean; NslRadialGradient = x.NslRadialGradient; NslStdDev = x.NslStdDev; PSN = x.PSN; Pattern = x.Pattern; PhaseMean = x.PhaseMean; PhaseRadialGradient = x.PhaseRadialGradient; PhaseStdDev = x.PhaseStdDev; Plan = x.Plan; RDS = x.RDS; RampRate = x.RampRate; Reactor = x.Reactor; RhoAvgMean = x.RhoAvgMean; RhoAvgRadialGradient = x.RhoAvgRadialGradient; RhoAvgStdDev = x.RhoAvgStdDev; RhoMethod = x.RhoMethod; RhoslMean = x.RhoslMean; RhoslRadialGradient = x.RhoslRadialGradient; RhoslStdDev = x.RhoslStdDev; RsMean = x.RsMean; RsRadialGradient = x.RsRadialGradient; RsStdDev = x.RsStdDev; SetupFile = x.SetupFile; StartVoltage = x.StartVoltage; StopVoltage = x.StopVoltage; UniqueId = x.UniqueId; VdMean = x.VdMean; VdRadialGradient = x.VdRadialGradient; VdStdDev = x.VdStdDev; Wafer = x.Wafer; WaferSize = x.WaferSize; Zone = x.Zone; } HgProbeDetail hgProbeDetail; foreach (FileRead.Description description in descriptions) { hgProbeDetail = new HgProbeDetail { FlatZ = description.FlatZ, Grade = description.Grade, HeaderUniqueId = description.HeaderUniqueId, NAvg = description.NAvg, Nsl = description.Nsl, Phase = description.Phase, RhoAvg = description.RhoAvg, Rhosl = description.Rhosl, UniqueId = description.UniqueId, Vd = description.Vd }; Details.Add(hgProbeDetail); } if (Date is null) Date = logic.Logistics.DateTimeFromSequence.ToString(); if (UniqueId is null && Details.Any()) UniqueId = Details[0].HeaderUniqueId; } } } }