123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- using OpenSEMI.ClientBase;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- using FurnaceUI.Models;
- using MECF.Framework.Common.OperationCenter;
- using MECF.Framework.UI.Client.CenterViews.Editors.Recipe;
- using Caliburn.Micro;
- using System.Collections.ObjectModel;
- using Caliburn.Micro.Core;
- using Aitex.Core.Util;
- using FurnaceUI.Views.Editors;
- namespace FurnaceUI.Views.Operations
- {
- public class PMCommandViewModel : FurnaceUIViewModelBase
- {
- public bool IsEnabledAction { get; set; }
- [Subscription("PM1.IsExecuteAbortRecipe")]
- public bool PM1IsExecuteAbortRecipe { get; set; }
- [Subscription("PM1.AbortRecipeName")]
- public string PM1AbortRecipeName { get; set; }
- [Subscription("PM1.MainRecipeName")]
- public string PM1MainRecipeName { get; set; }
- [Subscription("PM1.RecipeHold")]
- public bool PM1IsRecipeHold { get; set; }
- public bool IsHoldButtonEnable => !PM1IsRecipeHold;
- public PMCommandViewModel()
- {
-
- }
- public void ClickCmd(string cmd)
- {
- switch (cmd)
- {
- case "OK":
- ((Window)GetView()).DialogResult = true;
- break;
- case "Cancel":
- ((Window)GetView()).DialogResult = false;
- break;
- default:
- break;
- }
- }
- public void Skip()
- {
- if (!DialogBox.Confirm("Are you sure to skip current step?"))
- return;
- InvokeClient.Instance.Service.DoOperation($"PM1.RecipeSkipStep", "");
- }
- public void Jump()
- {
- if (!DialogBox.Confirm("Are you sure to jump current step?"))
- return;
- var recipes = new RecipeDataBase();
- //if (PM1IsExecuteAbortRecipe)
- //{
- // recipes.PrefixPath = "Furnace\\Abort";
- // recipes.Name = PM1AbortRecipeName;
- //}
- //else
- {
- recipes.PrefixPath = "Furnace\\Process";
- recipes.Name = PM1MainRecipeName;
- }
- RecipeProvider _recipeProvider = new RecipeProvider();
- recipes.Clear();
- var recipeContent = _recipeProvider.LoadRecipe(recipes.PrefixPath, recipes.Name);
- if (string.IsNullOrEmpty(recipeContent))
- {
- MessageBox.Show($"{recipes.PrefixPath}\\{recipes.Name} is empty, please confirm the file is valid.");
- return;
- }
- // recipes.RecipeChamberType = "OriginChamber";
- recipes.InitData(recipes.PrefixPath, recipes.Name, recipeContent, "PM1");
- var windowManager = IoC.Get<IWindowManager>();
- RecipeLoopSetViewModel recipeLoopSetViewModel = new RecipeLoopSetViewModel();
- recipeLoopSetViewModel.StepNames = new ObservableCollection<ShowStep>(recipes.Steps.OrderBy(x => x.StepNo).Select(x => new ShowStep() { StepNo = x.StepNo, StepName = x.Name }).ToList());
- if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(recipeLoopSetViewModel, null, "Jump"))
- {
- InvokeClient.Instance.Service.DoOperation($"PM1.RecipeJumpStep", recipeLoopSetViewModel.SelectedIndex, recipeLoopSetViewModel.SelectedText.Replace("]","").Replace("[",""));
- }
- }
- public void Hold()
- {
- if (!DialogBox.Confirm("Are you sure to hold current recipe?"))
- return;
- InvokeClient.Instance.Service.DoOperation($"PM1.RecipePause", "");
- }
- public void Release()
- {
- if (!DialogBox.Confirm("Are you sure to release current recipe?"))
- return;
- InvokeClient.Instance.Service.DoOperation($"PM1.RecipeContinue", "");
- }
- public void EmergencyAbort()
- {
- if (!DialogBox.Confirm("Are you sure to execute Abort?"))
- return;
- InvokeClient.Instance.Service.DoOperation("PM1.RecipeAbort");
- }
- }
- }
|