using Aitex.Core.UI.MVVM; using Aitex.Core.Util; using MECF.Framework.Common.CommonData; using MECF.Framework.Common.Jobs; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Runtime.Serialization; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Input; using FurnaceUI.Models; namespace FurnaceUI.Views.Status { class ProcessJobWithDrawingViewModel : FurnaceUIViewModelBase { public bool IsPermission { get => this.Permission == 3; } [Subscription("Scheduler.CurrentProcessJob")] public ProcessJobInfo CurrentProcessJob { get; set; } public string CurrentProcessJobName { get { if (CurrentProcessJob != null) { return CurrentProcessJob.Name.ToString(); } return null; } } #region CurrentProcessJobState public string CurrentProcessJobState { get { if (CurrentProcessJob != null) { return CurrentProcessJob.State.ToString(); } return null; } } public string CurrentProcessJobStateIsQueued { get { if (CurrentProcessJob == null) { return "Transparent"; } return CurrentProcessJob.State.ToString() == "Queued" ? "Green" : "Transparent"; } } public string CurrentProcessJobStateIsSetUp { get { if (CurrentProcessJob == null) { return "Transparent"; } return CurrentProcessJob.State.ToString() == "SetUp" ? "Green" : "Transparent"; } } public string CurrentProcessJobStateIsProcessing { get { if (CurrentProcessJob == null) { return "Transparent"; } return CurrentProcessJob.State.ToString() == "Processing" ? "Green" : "Transparent"; } } public string CurrentProcessJobStateIsProcessingComplete { get { if (CurrentProcessJob == null) { return "Transparent"; } return CurrentProcessJob.State.ToString() == "ProcessingComplete" ? "Green" : "Transparent"; } } public string CurrentProcessJobStateIsStopping { get { if (CurrentProcessJob == null) { return "Transparent"; } return CurrentProcessJob.State.ToString() == "Stopping" ? "Green" : "Transparent"; } } public string CurrentProcessJobStateIsPausing { get { if (CurrentProcessJob == null) { return "Transparent"; } return CurrentProcessJob.State.ToString() == "Pausing" ? "Transparent" : "Transparent"; } } public string CurrentProcessJobStateIsPaused { get { if (CurrentProcessJob == null) { return "Transparent"; } return CurrentProcessJob.State.ToString() == "Paused" ? "Green" : "Transparent"; } } public string CurrentProcessJobStateIsAborting { get { if (CurrentProcessJob == null) { return "Transparent"; } return CurrentProcessJob.State.ToString() == "Aborting" ? "Green" : "Transparent"; } } public string CurrentProcessModeIsProcessJob { get { if (CurrentProcessJob == null) { return "Transparent"; } return "Green"; } } public string CurrentProcessModeIsProcessJobforeGround { get { if (CurrentProcessModeIsProcessJob == "Green") { return "White"; } return "Black"; } } public string CurrentProcessModeIsActive { get { if (CurrentProcessJob == null) { return "Transparent"; } else if(CurrentProcessJob.State.ToString() != "Queued") { return "Green"; } return "Transparent"; } } public string CurrentProcessModeIsActiveforeGround { get { if(CurrentProcessModeIsActive == "Green") { return "White"; } return "Black"; } } public string CurrentProcessModeIsExecuting { get { if (CurrentProcessJob == null) { return "Transparent"; } else if((CurrentProcessJob.State.ToString() == "SetUp") || (CurrentProcessJob.State.ToString() == "Processing") || (CurrentProcessJob.State.ToString() == "ProcessingComplete")) { return "Green"; } return "Transparent"; } } public string CurrentProcessModeIsExecutingforeGround { get { if (CurrentProcessModeIsExecuting == "Green") { return "White"; } return "Black"; } } public string CurrentProcessModeIsPause { get { if (CurrentProcessJob == null) { return "Transparent"; } else if ((CurrentProcessJob.State.ToString() == "Pausing") || (CurrentProcessJob.State.ToString() == "Paused")) { return "Green"; } return "Transparent"; } } public string CurrentProcessModeIsPauseforeGround { get { if (CurrentProcessModeIsPause == "Green") { return "White"; } return "Black"; } } public string CurrentStartMode { get { if(CurrentProcessJob != null) { if((CurrentProcessJob.State.ToString() == "SetUp") || (CurrentProcessJob.State.ToString() == "Processing") || (CurrentProcessJob.State.ToString() == "ProcessingComplete")) { return "Executing"; } else if((CurrentProcessJob.State.ToString() == "Pausing") || (CurrentProcessJob.State.ToString() == "Paused")) { return "Pause"; } return "Process Job"; } return "Waiting For Start"; } } #endregion #region CurrentProcessJobProcessingState public string CurrentProcessJobProcessingState { get { if (CurrentProcessJob != null) { return CurrentProcessJob.ProcessingState.ToString(); } return null; } } public string CurrentProcessJobProcessingStateIsWaitingMaterial { get { if (CurrentProcessJob == null) { return "Transparent"; } return CurrentProcessJob.ProcessingState.ToString() == "WaitingMaterial" ? "Green" : "Transparent"; } } public string CurrentProcessJobProcessingStateIsWaitingCharge { get { if (CurrentProcessJob == null) { return "Transparent"; } return CurrentProcessJob.ProcessingState.ToString() == "WaitingCharge" ? "Green" : "Transparent"; } } public string CurrentProcessJobProcessingStateIsCoolingBeforeCharge { get { if (CurrentProcessJob == null) { return "Transparent"; } return CurrentProcessJob.ProcessingState.ToString() == "CoolingBeforeCharge" ? "Green" : "Transparent"; } } public string CurrentProcessJobProcessingStateIsCharging { get { if (CurrentProcessJob == null) { return "Transparent"; } return CurrentProcessJob.ProcessingState.ToString() == "Charging" ? "Green" : "Transparent"; } } public string CurrentProcessJobProcessingStateIsWaitingProcess { get { if (CurrentProcessJob == null) { return "Transparent"; } return CurrentProcessJob.ProcessingState.ToString() == "WaitingProcess" ? "Green" : "Transparent"; } } public string CurrentProcessJobProcessingStateIsProcessing { get { if (CurrentProcessJob == null) { return "Transparent"; } return CurrentProcessJob.ProcessingState.ToString() == "Processing" ? "Green" : "Transparent"; } } public string CurrentProcessJobProcessingStateIsCoolingBeforeDischarge { get { if (CurrentProcessJob == null) { return "Transparent"; } return CurrentProcessJob.ProcessingState.ToString() == "CoolingBeforeDischarge" ? "Green" : "Transparent"; } } public string CurrentProcessJobProcessingStateIsWaitingDischarge { get { if (CurrentProcessJob == null) { return "Transparent"; } return CurrentProcessJob.ProcessingState.ToString() == "WaitingDischarge" ? "Green" : "Transparent"; } } public string CurrentProcessJobProcessingStateIsDischarging { get { if (CurrentProcessJob == null) { return "Transparent"; } return CurrentProcessJob.ProcessingState.ToString() == "Discharging" ? "Green" : "Transparent"; } } #endregion public string CurrentProcessJobControlJobName { get { if (CurrentProcessJob != null) { return CurrentProcessJob.ControlJobName.ToString(); } return null; } } public string CurrentProcessJobControlJobProcessRecipe { get { if (CurrentProcessJob != null) { return CurrentProcessJob.ProcessRecipe.ToString(); } return null; } } public string CurrentProcessJobControlJobLayoutRecipe { get { if (CurrentProcessJob != null) { return CurrentProcessJob.LayoutRecipe.ToString(); } return null; } } public ProcessJobWithDrawingViewModel()/* : base("MonitorJobViewModel")*/ { } public void ClosedCmd() { (GetView() as Window).Close(); } } }