2022-09-19 09:16:33 +08:00
|
|
|
|
using Caliburn.Micro;
|
|
|
|
|
using MECF.Framework.Common.DataCenter;
|
|
|
|
|
using MECF.Framework.Common.OperationCenter;
|
|
|
|
|
using MECF.Framework.UI.Client.CenterViews.Editors.Recipe;
|
|
|
|
|
using MECF.Framework.UI.Client.ClientBase;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.ObjectModel;
|
2022-12-21 16:43:43 +08:00
|
|
|
|
using MECF.Framework.UI.Client.CenterViews.Editors;
|
2022-09-19 09:16:33 +08:00
|
|
|
|
|
|
|
|
|
namespace SicUI.Models.RecipeEditors
|
|
|
|
|
{
|
|
|
|
|
public enum RoutineType
|
|
|
|
|
{
|
|
|
|
|
ATMIdle = 0,
|
|
|
|
|
VACIdle,
|
|
|
|
|
ProcessIdle,
|
|
|
|
|
Pump,
|
|
|
|
|
Vent,
|
|
|
|
|
Purge,
|
|
|
|
|
Clean,
|
|
|
|
|
ExchangeMOTCS,
|
|
|
|
|
ExchangeMOTMA,
|
|
|
|
|
Isolation,
|
|
|
|
|
LeakCheck,
|
|
|
|
|
Abort
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class RoutineConfigViewModel : SicModuleUIViewModelBase, ISupportMultipleSystem
|
|
|
|
|
{
|
|
|
|
|
public ObservableCollection<string> RoutineTypeList { get; set; }
|
|
|
|
|
|
|
|
|
|
protected override void OnInitialize()
|
|
|
|
|
{
|
|
|
|
|
base.OnInitialize();
|
|
|
|
|
|
|
|
|
|
RoutineTypeList = new ObservableCollection<string>();
|
|
|
|
|
|
|
|
|
|
RoutineTypeList.Add(QueryDataClient.Instance.Service.GetConfig("PM.PM1.ATMIdleFileName").ToString());
|
|
|
|
|
RoutineTypeList.Add(QueryDataClient.Instance.Service.GetConfig("PM.PM1.VACIdleFileName").ToString());
|
|
|
|
|
RoutineTypeList.Add(QueryDataClient.Instance.Service.GetConfig("PM.PM1.ProcessIdleFileName").ToString());
|
|
|
|
|
RoutineTypeList.Add(QueryDataClient.Instance.Service.GetConfig("PM.PM1.PumpFileName").ToString());
|
|
|
|
|
RoutineTypeList.Add(QueryDataClient.Instance.Service.GetConfig("PM.PM1.VentFileName").ToString());
|
|
|
|
|
RoutineTypeList.Add(QueryDataClient.Instance.Service.GetConfig("PM.PM1.PurgeFileName").ToString());
|
|
|
|
|
RoutineTypeList.Add(QueryDataClient.Instance.Service.GetConfig("PM.PM1.CleanFileName").ToString());
|
|
|
|
|
RoutineTypeList.Add(QueryDataClient.Instance.Service.GetConfig("PM.PM1.ExchangeMOTCSFileName").ToString());
|
|
|
|
|
RoutineTypeList.Add(QueryDataClient.Instance.Service.GetConfig("PM.PM1.ExchangeMOTMAFileName").ToString());
|
|
|
|
|
RoutineTypeList.Add(QueryDataClient.Instance.Service.GetConfig("PM.PM1.IsolationFileName").ToString());
|
|
|
|
|
RoutineTypeList.Add(QueryDataClient.Instance.Service.GetConfig("PM.PM1.LeakCheckFileName").ToString());
|
|
|
|
|
RoutineTypeList.Add(QueryDataClient.Instance.Service.GetConfig("PM.PM1.AbortFileName").ToString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void Select(string strRoutineType)
|
|
|
|
|
{
|
2022-12-21 14:08:06 +08:00
|
|
|
|
var dialog =
|
2022-12-21 16:43:43 +08:00
|
|
|
|
new RecipeSelectDialogViewModel(false, false, ProcessTypeFileItem.ProcessFileTypes.Routine)
|
2022-12-21 14:08:06 +08:00
|
|
|
|
{
|
|
|
|
|
DisplayName = "Select Routine"
|
|
|
|
|
};
|
|
|
|
|
var wm = new WindowManager();
|
|
|
|
|
var bret = wm.ShowDialog(dialog);
|
|
|
|
|
if (bret == true)
|
2022-09-19 09:16:33 +08:00
|
|
|
|
{
|
2022-12-21 14:08:06 +08:00
|
|
|
|
var index = (int)(RoutineType)(Enum.Parse(typeof(RoutineType), strRoutineType));
|
2022-09-19 09:16:33 +08:00
|
|
|
|
RoutineTypeList[index] = dialog.DialogResult;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void SaveRoutineConfig()
|
|
|
|
|
{
|
|
|
|
|
string RoutineName;
|
|
|
|
|
for (int i = 0; i < RoutineTypeList.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
RoutineName = RoutineType.GetName(typeof(RoutineType), i);
|
|
|
|
|
RoutineName += "FileName";
|
|
|
|
|
InvokeClient.Instance.Service.DoOperation("System.SetConfig", $"PM.PM1.{RoutineName}", RoutineTypeList[i]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|