78 lines
3.1 KiB
C#
78 lines
3.1 KiB
C#
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;
|
|
|
|
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)
|
|
{
|
|
var dialog = new RecipeSelectDialogViewModel();
|
|
dialog.DisplayName = "Select Routine";
|
|
|
|
var wm = new WindowManager();
|
|
var bret = wm.ShowDialog(dialog);
|
|
if ((bool)bret)
|
|
{
|
|
var index = (int)(RoutineType)(Enum.Parse(typeof(RoutineType), strRoutineType));
|
|
|
|
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]);
|
|
}
|
|
}
|
|
}
|
|
}
|