using CommunityToolkit.Mvvm.ComponentModel; namespace GlobalData; public partial class DeviceData_VM : ObservableObject { public Guid DeviceId { get; set; } [ObservableProperty] private DeviceStatus _DeviceStatus; [ObservableProperty] private PMCMode _PMCMode; [ObservableProperty] private RecipeInfo_VM? _RecipeInfo; } public enum PMCMode { Undefined, } public enum DeviceStatus { Init = 0, Initializing, Idle, Transfer, AutoRinning, AutoIdel = 5, ReturnAllWafer, Error, Loading, Unloading, ChargeProcessDischarging = 10, LoadProcessStockering, LoadProcessUnloading, ReutrnWafer } public enum TubeStatus { NotInstall, NotConnected, Init, Idle, Homing, OpenSlitValve, CloseSlitValve, Error, PrepareTransfer, PostTransfer, PreProcess, PostProcess, Process, LeakCheck, MFCCali, Pauded, InTransfer } public partial class Alarm_VM : ObservableObject { public Guid DeviceId { get; set; } [ObservableProperty] private DateTime _AlarmTime; [ObservableProperty] private string? _AlarmName; } public partial class RecipeInfo_VM : ObservableObject { public Guid DeviceId { get; set; } [ObservableProperty] private string? _CurrentStepName; [ObservableProperty] private string? _NextStepName; [ObservableProperty] private TimeSpan? _CurrentStepRemainTime; [ObservableProperty] private TimeSpan? _CurrentStepTotalTime; [ObservableProperty] private TimeSpan? _TotalTime; [ObservableProperty] private TimeSpan? _TotalRemainTime; }