75 lines
2.2 KiB
C#
75 lines
2.2 KiB
C#
using RobotApp.VDA5050.InstantAction;
|
|
using RobotApp.VDA5050.Order;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace RobotApp.Client.Services;
|
|
|
|
// ======================================================
|
|
// ORDER MESSAGE
|
|
// ======================================================
|
|
public class OrderMessage
|
|
{
|
|
public uint HeaderId { get; set; }
|
|
public string Timestamp { get; set; } = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ss.fffZ");
|
|
public string Version { get; set; } = "2.1.0";
|
|
public string Manufacturer { get; set; } = "PhenikaaX";
|
|
public string SerialNumber { get; set; } = "T800-003";
|
|
public string OrderId { get; set; } = "";
|
|
public int OrderUpdateId { get; set; }
|
|
public string? ZoneSetId { get; set; }
|
|
|
|
public List<Node> Nodes { get; set; } = [];
|
|
public List<Edge> Edges { get; set; } = [];
|
|
|
|
public OrderMsg ToSchemaObject()
|
|
{
|
|
return new OrderMsg
|
|
{
|
|
HeaderId = (uint)HeaderId++,
|
|
|
|
Timestamp = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"),
|
|
|
|
Version = Version,
|
|
Manufacturer = Manufacturer,
|
|
SerialNumber = SerialNumber,
|
|
|
|
OrderId = OrderId= Guid.NewGuid().ToString(),
|
|
OrderUpdateId = OrderUpdateId,
|
|
|
|
ZoneSetId = string.IsNullOrWhiteSpace(ZoneSetId)
|
|
? null
|
|
: ZoneSetId,
|
|
|
|
Nodes = [..Nodes],
|
|
Edges = [..Edges],
|
|
};
|
|
}
|
|
|
|
public void Import(OrderMsg order)
|
|
{
|
|
HeaderId = order.HeaderId;
|
|
Timestamp = order.Timestamp;
|
|
Version = order.Version;
|
|
Manufacturer = order.Manufacturer;
|
|
SerialNumber = order.SerialNumber;
|
|
OrderId = order.OrderId;
|
|
ZoneSetId = order.ZoneSetId;
|
|
OrderUpdateId = order.OrderUpdateId;
|
|
Nodes = [.. order.Nodes];
|
|
Edges = [.. order.Edges];
|
|
}
|
|
}
|
|
|
|
// ======================================================
|
|
// UI ACTION PARAM
|
|
// ======================================================
|
|
public class UiActionParameter : ActionParameter
|
|
{
|
|
[JsonIgnore]
|
|
public string ValueString
|
|
{
|
|
get => Value?.ToString() ?? "";
|
|
set => Value = value;
|
|
}
|
|
}
|