Dual write PDSF for Metrology Viewer Version Error Message Tests passed net8.0 v2_52_0-Tests v2_52_0-Tests editorconfig editorconfig yml ec fix yaml explicit contents Delete File if Exists dotnet_diagnostic Removed Open Insight API IFX Directory Removed Open Insight API IFX Directory from Save CA1862 and GetWeekOfYear for WritePDSF gitignore cellInstanceVersion.EdaConnection.PortNumber Added Climatec to Test.cs NETFRAMEWORK GetJobIdDirectory Remove and
181 lines
6.0 KiB
C#
181 lines
6.0 KiB
C#
using Adaptation.Shared.Methods;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text.Json;
|
|
|
|
namespace Adaptation.Shared.Duplicator;
|
|
|
|
public class Description : IDescription, Properties.IDescription
|
|
{
|
|
|
|
public int Test { get; set; }
|
|
public int Count { get; set; }
|
|
public int Index { get; set; }
|
|
public string RDS { get; set; }
|
|
//
|
|
public string EventName { get; set; }
|
|
public string NullData { get; set; }
|
|
public string JobID { get; set; }
|
|
public string Sequence { get; set; }
|
|
public string MesEntity { get; set; }
|
|
public string ReportFullPath { get; set; }
|
|
public string ProcessJobID { get; set; }
|
|
public string MID { get; set; }
|
|
public string Date { get; set; } //2021-10-23
|
|
|
|
string IDescription.GetEventDescription() => "File Has been read and parsed";
|
|
|
|
List<string> IDescription.GetNames(IFileRead fileRead, Logistics logistics)
|
|
{
|
|
List<string> results = new();
|
|
IDescription description = GetDefault(fileRead, logistics);
|
|
string json = JsonSerializer.Serialize(description, description.GetType());
|
|
object @object = JsonSerializer.Deserialize<object>(json);
|
|
if (@object is not JsonElement jsonElement)
|
|
throw new Exception();
|
|
foreach (JsonProperty jsonProperty in jsonElement.EnumerateObject())
|
|
results.Add(jsonProperty.Name);
|
|
return results;
|
|
}
|
|
|
|
List<string> IDescription.GetDetailNames()
|
|
{
|
|
List<string> results = new();
|
|
return results;
|
|
}
|
|
|
|
List<string> IDescription.GetHeaderNames()
|
|
{
|
|
List<string> results = new();
|
|
return results;
|
|
}
|
|
|
|
IDescription IDescription.GetDisplayNames()
|
|
{
|
|
Description result = GetDisplayNames();
|
|
return result;
|
|
}
|
|
|
|
List<string> IDescription.GetParameterNames()
|
|
{
|
|
List<string> results = new();
|
|
return results;
|
|
}
|
|
|
|
JsonProperty[] IDescription.GetDefault(IFileRead fileRead, Logistics logistics)
|
|
{
|
|
JsonProperty[] results;
|
|
IDescription description = GetDefault(fileRead, logistics);
|
|
string json = JsonSerializer.Serialize(description, description.GetType());
|
|
object @object = JsonSerializer.Deserialize<object>(json);
|
|
results = ((JsonElement)@object).EnumerateObject().ToArray();
|
|
return results;
|
|
}
|
|
|
|
List<string> IDescription.GetPairedParameterNames()
|
|
{
|
|
List<string> results = new();
|
|
return results;
|
|
}
|
|
|
|
List<string> IDescription.GetIgnoreParameterNames(Test test)
|
|
{
|
|
List<string> results = new();
|
|
return results;
|
|
}
|
|
|
|
IDescription IDescription.GetDefaultDescription(IFileRead fileRead, Logistics logistics)
|
|
{
|
|
Description result = GetDefault(fileRead, logistics);
|
|
return result;
|
|
}
|
|
|
|
Dictionary<string, string> IDescription.GetDisplayNamesJsonElement(IFileRead fileRead)
|
|
{
|
|
Dictionary<string, string> results = new();
|
|
IDescription description = GetDisplayNames();
|
|
string json = JsonSerializer.Serialize(description, description.GetType());
|
|
JsonElement jsonElement = JsonSerializer.Deserialize<JsonElement>(json);
|
|
foreach (JsonProperty jsonProperty in jsonElement.EnumerateObject())
|
|
{
|
|
if (!results.ContainsKey(jsonProperty.Name))
|
|
results.Add(jsonProperty.Name, string.Empty);
|
|
if (jsonProperty.Value is JsonElement jsonPropertyValue)
|
|
results[jsonProperty.Name] = jsonPropertyValue.ToString();
|
|
}
|
|
return results;
|
|
}
|
|
|
|
List<IDescription> IDescription.GetDescriptions(IFileRead fileRead, Logistics logistics, List<Test> tests, IProcessData iProcessData)
|
|
{
|
|
List<IDescription> results = new();
|
|
if (iProcessData is null || iProcessData.Details.Count == 0)
|
|
results.Add(GetDefault(fileRead, logistics));
|
|
else
|
|
{
|
|
string nullData;
|
|
Description description;
|
|
object configDataNullData = fileRead.NullData;
|
|
if (configDataNullData is null)
|
|
nullData = string.Empty;
|
|
else
|
|
nullData = configDataNullData.ToString();
|
|
for (int i = 0; i < iProcessData.Details.Count; i++)
|
|
{
|
|
if (iProcessData.Details[i] is null)
|
|
continue;
|
|
description = new Description
|
|
{
|
|
Test = (int)tests[i],
|
|
Count = tests.Count,
|
|
Index = i,
|
|
//
|
|
EventName = fileRead.EventName,
|
|
NullData = nullData,
|
|
JobID = fileRead.CellInstanceName,
|
|
Sequence = logistics.Sequence.ToString(),
|
|
MesEntity = logistics.MesEntity,
|
|
ReportFullPath = logistics.ReportFullPath,
|
|
ProcessJobID = logistics.ProcessJobID,
|
|
MID = logistics.MID,
|
|
//
|
|
Date = DateTime.Now.ToString(GetDateFormat()),
|
|
RDS = string.Empty,
|
|
};
|
|
results.Add(description);
|
|
}
|
|
}
|
|
return results;
|
|
}
|
|
|
|
private static Description GetDisplayNames()
|
|
{
|
|
Description result = new();
|
|
return result;
|
|
}
|
|
|
|
private static Description GetDefault(IFileRead fileRead, Logistics logistics)
|
|
{
|
|
Description result = new()
|
|
{
|
|
Test = -1,
|
|
Count = 0,
|
|
Index = -1,
|
|
//
|
|
EventName = fileRead.EventName,
|
|
NullData = fileRead.NullData,
|
|
JobID = fileRead.CellInstanceName,
|
|
Sequence = logistics.Sequence.ToString(),
|
|
MesEntity = fileRead.MesEntity,
|
|
ReportFullPath = logistics.ReportFullPath,
|
|
ProcessJobID = logistics.ProcessJobID,
|
|
MID = logistics.MID,
|
|
Date = logistics.DateTimeFromSequence.ToUniversalTime().ToString("MM/dd/yyyy HH:mm:ss")
|
|
};
|
|
return result;
|
|
}
|
|
|
|
internal static string GetDateFormat() => "MM/dd/yyyy hh:mm:ss tt";
|
|
|
|
} |