| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365 | 
							- using Aitex.Core.Common.DeviceData;
 
- using Aitex.Core.Util;
 
- using Caliburn.Micro;
 
- using Caliburn.Micro.Core;
 
- using MECF.Framework.Common.DataCenter;
 
- using MECF.Framework.Common.OperationCenter;
 
- using MECF.Framework.Common.RecipeCenter;
 
- using MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig;
 
- using MECF.Framework.UI.Client.CenterViews.Dialogs;
 
- using MECF.Framework.UI.Core.Control;
 
- using OpenSEMI.ClientBase;
 
- using System.Collections.Generic;
 
- using System.Collections.ObjectModel;
 
- using System.Linq;
 
- using System.Windows;
 
- using System.Windows.Controls;
 
- using FurnaceUI.Models;
 
- using FurnaceUI.Views.Editors;
 
- namespace FurnaceUI.Views.Operations
 
- {
 
-     public class GasDetailViewModel : FurnaceUIViewModelBase
 
-     {
 
-         private GasDetailView _view;
 
-         #region MFC
 
-         [Subscription("PM1.MFC1.DeviceData")]
 
-         public AITMfcData MFC1Data { get; set; }
 
-         [Subscription("PM1.MFC2.DeviceData")]
 
-         public AITMfcData MFC2Data { get; set; }
 
-         [Subscription("PM1.MFC3.DeviceData")]
 
-         public AITMfcData MFC3Data { get; set; }
 
-         [Subscription("PM1.MFC4.DeviceData")]
 
-         public AITMfcData MFC4Data { get; set; }
 
-         [Subscription("PM1.MFC5.DeviceData")]
 
-         public AITMfcData MFC5Data { get; set; }
 
-         [Subscription("PM1.MFC6.DeviceData")]
 
-         public AITMfcData MFC6Data { get; set; }
 
-         [Subscription("PM1.MFC7.DeviceData")]
 
-         public AITMfcData MFC7Data { get; set; }
 
-         [Subscription("PM1.MFC8.DeviceData")]
 
-         public AITMfcData MFC8Data { get; set; }
 
-         [Subscription("PM1.MFC9.DeviceData")]
 
-         public AITMfcData MFC9Data { get; set; }
 
-         [Subscription("PM1.MFC10.DeviceData")]
 
-         public AITMfcData MFC10Data { get; set; }
 
-         [Subscription("PM1.MFC11.DeviceData")]
 
-         public AITMfcData MFC11Data { get; set; }
 
-         [Subscription("PM1.MFC12.DeviceData")]
 
-         public AITMfcData MFC12Data { get; set; }
 
-         [Subscription("PM1.MFC13.DeviceData")]
 
-         public AITMfcData MFC13Data { get; set; }
 
-         [Subscription("PM1.MFC14.DeviceData")]
 
-         public AITMfcData MFC14Data { get; set; }
 
-         [Subscription("PM1.MFC15.DeviceData")]
 
-         public AITMfcData MFC15Data { get; set; }
 
-         [Subscription("PM1.MFC16.DeviceData")]
 
-         public AITMfcData MFC16Data { get; set; }
 
-         [Subscription("PM1.MFC17.DeviceData")]
 
-         public AITMfcData MFC17Data { get; set; }
 
-         [Subscription("PM1.MFC31.DeviceData")]
 
-         public AITMfcData MFC31Data { get; set; }
 
-         [Subscription("PM1.MFC32.DeviceData")]
 
-         public AITMfcData MFC32Data { get; set; }
 
-         [Subscription("PM1.MFC51.DeviceData")]
 
-         public AITMfcData MFC51Data { get; set; }
 
-         #endregion
 
-         #region MFM
 
-         [Subscription("PM1.MFM57.DeviceData")]
 
-         public AITWaterFlowMeterData MFM57FlowData { get; set; }
 
-         [Subscription("PM1.MFM1.DeviceData")]
 
-         public AITWaterFlowMeterData MFM1FlowData { get; set; }
 
-         [Subscription("PM1.MFM6.DeviceData")]
 
-         public AITWaterFlowMeterData MFM6FlowData { get; set; }
 
-         [Subscription("PM1.MFM7.DeviceData")]
 
-         public AITWaterFlowMeterData MFM7FlowData { get; set; }
 
-         [Subscription("PM1.MFM8.DeviceData")]
 
-         public AITWaterFlowMeterData MFM8FlowData { get; set; }
 
-         [Subscription("PM1.MFM9.DeviceData")]
 
-         public AITWaterFlowMeterData MFM9FlowData { get; set; }
 
-         [Subscription("PM1.MFM11.DeviceData")]
 
-         public AITWaterFlowMeterData MFM11FlowData { get; set; }
 
-         [Subscription("PM1.MFM12.DeviceData")]
 
-         public AITWaterFlowMeterData MFM12FlowData { get; set; }
 
-         [Subscription("PM1.MFM13.DeviceData")]
 
-         public AITWaterFlowMeterData MFM13FlowData { get; set; }
 
-         [Subscription("PM1.MFM16.DeviceData")]
 
-         public AITWaterFlowMeterData MFM16FlowData { get; set; }
 
-         #endregion
 
-         #region Valve
 
-         [Subscription("PM1.ValveAV1.DeviceData")] public AITValveData ValveAV1Data { get; set; }
 
-         [Subscription("PM1.ValveAV2.DeviceData")] public AITValveData ValveAV2Data { get; set; }
 
-         [Subscription("PM1.ValveAV3.DeviceData")] public AITValveData ValveAV3Data { get; set; }
 
-         [Subscription("PM1.ValveAV4.DeviceData")] public AITValveData ValveAV4Data { get; set; }
 
-         [Subscription("PM1.ValveAV5.DeviceData")] public AITValveData ValveAV5Data { get; set; }
 
-         [Subscription("PM1.ValveAV6.DeviceData")] public AITValveData ValveAV6Data { get; set; }
 
-         [Subscription("PM1.ValveAV7.DeviceData")] public AITValveData ValveAV7Data { get; set; }
 
-         [Subscription("PM1.ValveAV8.DeviceData")] public AITValveData ValveAV8Data { get; set; }
 
-         [Subscription("PM1.ValveAV9.DeviceData")] public AITValveData ValveAV9Data { get; set; }
 
-         [Subscription("PM1.ValveAV10.DeviceData")] public AITValveData ValveAV10Data { get; set; }
 
-         [Subscription("PM1.ValveAV11.DeviceData")] public AITValveData ValveAV11Data { get; set; }
 
-         [Subscription("PM1.ValveAV12.DeviceData")] public AITValveData ValveAV12Data { get; set; }
 
-         [Subscription("PM1.ValveAV13.DeviceData")] public AITValveData ValveAV13Data { get; set; }
 
-         [Subscription("PM1.ValveAV14.DeviceData")] public AITValveData ValveAV14Data { get; set; }
 
-         [Subscription("PM1.ValveAV15.DeviceData")] public AITValveData ValveAV15Data { get; set; }
 
-         [Subscription("PM1.ValveAV16.DeviceData")] public AITValveData ValveAV16Data { get; set; }
 
-         [Subscription("PM1.ValveAV17.DeviceData")] public AITValveData ValveAV17Data { get; set; }
 
-         [Subscription("PM1.ValveAV18.DeviceData")] public AITValveData ValveAV18Data { get; set; }
 
-         [Subscription("PM1.ValveAV19.DeviceData")] public AITValveData ValveAV19Data { get; set; }
 
-         [Subscription("PM1.ValveAV20.DeviceData")] public AITValveData ValveAV20Data { get; set; }
 
-         [Subscription("PM1.ValveAV21.DeviceData")] public AITValveData ValveAV21Data { get; set; }
 
-         [Subscription("PM1.ValveAV22.DeviceData")] public AITValveData ValveAV22Data { get; set; }
 
-         [Subscription("PM1.ValveAV23.DeviceData")] public AITValveData ValveAV23Data { get; set; }
 
-         [Subscription("PM1.ValveAV24.DeviceData")] public AITValveData ValveAV24Data { get; set; }
 
-         [Subscription("PM1.ValveAV25.DeviceData")] public AITValveData ValveAV25Data { get; set; }
 
-         [Subscription("PM1.ValveAV26.DeviceData")] public AITValveData ValveAV26Data { get; set; }
 
-         [Subscription("PM1.ValveAV27.DeviceData")] public AITValveData ValveAV27Data { get; set; }
 
-         [Subscription("PM1.ValveAV28.DeviceData")] public AITValveData ValveAV28Data { get; set; }
 
-         [Subscription("PM1.ValveAV29.DeviceData")] public AITValveData ValveAV29Data { get; set; }
 
-         [Subscription("PM1.ValveAV30.DeviceData")] public AITValveData ValveAV30Data { get; set; }
 
-         [Subscription("PM1.ValveAV31.DeviceData")] public AITValveData ValveAV31Data { get; set; }
 
-         [Subscription("PM1.ValveAV32.DeviceData")] public AITValveData ValveAV32Data { get; set; }
 
-         [Subscription("PM1.ValveAV33.DeviceData")] public AITValveData ValveAV33Data { get; set; }
 
-         [Subscription("PM1.ValveAV34.DeviceData")] public AITValveData ValveAV34Data { get; set; }
 
-         [Subscription("PM1.ValveAV35.DeviceData")] public AITValveData ValveAV35Data { get; set; }
 
-         [Subscription("PM1.ValveAV36.DeviceData")] public AITValveData ValveAV36Data { get; set; }
 
-         [Subscription("PM1.ValveAV37.DeviceData")] public AITValveData ValveAV37Data { get; set; }
 
-         [Subscription("PM1.ValveAV38.DeviceData")] public AITValveData ValveAV38Data { get; set; }
 
-         [Subscription("PM1.ValveAV39.DeviceData")] public AITValveData ValveAV39Data { get; set; }
 
-         [Subscription("PM1.ValveAV40.DeviceData")] public AITValveData ValveAV40Data { get; set; }
 
-         [Subscription("PM1.ValveAV41.DeviceData")] public AITValveData ValveAV41Data { get; set; }
 
-         [Subscription("PM1.ValveAV42.DeviceData")] public AITValveData ValveAV42Data { get; set; }
 
-         [Subscription("PM1.ValveAV43.DeviceData")] public AITValveData ValveAV43Data { get; set; }
 
-         [Subscription("PM1.ValveAV44.DeviceData")] public AITValveData ValveAV44Data { get; set; }
 
-         [Subscription("PM1.ValveAV45.DeviceData")] public AITValveData ValveAV45Data { get; set; }
 
-         [Subscription("PM1.ValveAV46.DeviceData")] public AITValveData ValveAV46Data { get; set; }
 
-         [Subscription("PM1.ValveAV47.DeviceData")] public AITValveData ValveAV47Data { get; set; }
 
-         [Subscription("PM1.ValveAV48.DeviceData")] public AITValveData ValveAV48Data { get; set; }
 
-         [Subscription("PM1.ValveAV49.DeviceData")] public AITValveData ValveAV49Data { get; set; }
 
-         [Subscription("PM1.ValveAV50.DeviceData")] public AITValveData ValveAV50Data { get; set; }
 
-         [Subscription("PM1.ValveAV51.DeviceData")] public AITValveData ValveAV51Data { get; set; }
 
-         [Subscription("PM1.ValveAV52.DeviceData")] public AITValveData ValveAV52Data { get; set; }
 
-         [Subscription("PM1.ValveAV53.DeviceData")] public AITValveData ValveAV53Data { get; set; }
 
-         [Subscription("PM1.ValveAV54.DeviceData")] public AITValveData ValveAV54Data { get; set; }
 
-         [Subscription("PM1.ValveAV55.DeviceData")] public AITValveData ValveAV55Data { get; set; }
 
-         [Subscription("PM1.ValveAV56.DeviceData")] public AITValveData ValveAV56Data { get; set; }
 
-         [Subscription("PM1.ValveAV57.DeviceData")] public AITValveData ValveAV57Data { get; set; }
 
-         [Subscription("PM1.ValveAV58.DeviceData")] public AITValveData ValveAV58Data { get; set; }
 
-         [Subscription("PM1.ValveAV59.DeviceData")] public AITValveData ValveAV59Data { get; set; }
 
-         [Subscription("PM1.ValveAV60.DeviceData")] public AITValveData ValveAV60Data { get; set; }
 
-         [Subscription("PM1.ValveAV61.DeviceData")] public AITValveData ValveAV61Data { get; set; }
 
-         [Subscription("PM1.ValveAV62.DeviceData")] public AITValveData ValveAV62Data { get; set; }
 
-         [Subscription("PM1.ValveAV63.DeviceData")] public AITValveData ValveAV63Data { get; set; }
 
-         [Subscription("PM1.ValveAV64.DeviceData")] public AITValveData ValveAV64Data { get; set; }
 
-         [Subscription("PM1.ValveAV65.DeviceData")] public AITValveData ValveAV65Data { get; set; }
 
-         [Subscription("PM1.ValveAV66.DeviceData")] public AITValveData ValveAV66Data { get; set; }
 
-         [Subscription("PM1.ValveAV67.DeviceData")] public AITValveData ValveAV67Data { get; set; }
 
-         [Subscription("PM1.ValveAV68.DeviceData")] public AITValveData ValveAV68Data { get; set; }
 
-         [Subscription("PM1.ValveAV69.DeviceData")] public AITValveData ValveAV69Data { get; set; }
 
-         [Subscription("PM1.ValveAV70.DeviceData")] public AITValveData ValveAV70Data { get; set; }
 
-         [Subscription("PM1.APC.ModeFeedback")]
 
-         public int APCModeFeedback { get; set; }
 
-         [Subscription("PM1.ValveAV71.DeviceData")] public AITValveData ValveAV70Data1 { get; set; }
 
-         public AITValveData ValveAV71Data
 
-         {
 
-             get
 
-             {
 
-                 return new AITValveData()
 
-                 {
 
-                     DeviceName = ValveAV70Data1.DeviceName,
 
-                     DisplayName = ValveAV70Data1.DisplayName,
 
-                     UniqueName = ValveAV70Data1.UniqueName,
 
-                     DefaultValue = ValveAV70Data1.DefaultValue,
 
-                     SetPoint = ValveAV70Data1.SetPoint,
 
-                     Feedback = APCModeFeedback != 5,
 
-                     VirtualFeedback = ValveAV70Data1.VirtualFeedback
 
-                 };
 
-             }
 
-         }
 
-         [Subscription("PM1.ValveAV72.DeviceData")] public AITValveData ValveAV72Data { get; set; }
 
-         [Subscription("PM1.ValveAV73.DeviceData")] public AITValveData ValveAV73Data { get; set; }
 
-         [Subscription("PM1.ValveAV74.DeviceData")] public AITValveData ValveAV74Data { get; set; }
 
-         [Subscription("PM1.ValveAV75.DeviceData")] public AITValveData ValveAV75Data { get; set; }
 
-         [Subscription("PM1.ValveAV76.DeviceData")] public AITValveData ValveAV76Data { get; set; }
 
-         [Subscription("PM1.ValveAV77.DeviceData")] public AITValveData ValveAV77Data { get; set; }
 
-         [Subscription("PM1.ValveAV78.DeviceData")] public AITValveData ValveAV78Data { get; set; }
 
-         [Subscription("PM1.ValveAV79.DeviceData")] public AITValveData ValveAV79Data { get; set; }
 
-         [Subscription("PM1.ValveAV80.DeviceData")] public AITValveData ValveAV80Data { get; set; }
 
-         [Subscription("PM1.ValveAV81.DeviceData")] public AITValveData ValveAV81Data { get; set; }
 
-         [Subscription("PM1.ValveAV82.DeviceData")] public AITValveData ValveAV82Data { get; set; }
 
-         [Subscription("PM1.ValveAV83.DeviceData")] public AITValveData ValveAV83Data { get; set; }
 
-         [Subscription("PM1.ValveAV84.DeviceData")] public AITValveData ValveAV84Data { get; set; }
 
-         [Subscription("PM1.ValveAV85.DeviceData")] public AITValveData ValveAV85Data { get; set; }
 
-         [Subscription("PM1.ValveAV86.DeviceData")] public AITValveData ValveAV86Data { get; set; }
 
-         [Subscription("PM1.ValveAV87.DeviceData")] public AITValveData ValveAV87Data { get; set; }
 
-         [Subscription("PM1.ValveAV88.DeviceData")] public AITValveData ValveAV88Data { get; set; }
 
-         [Subscription("PM1.ValveAV89.DeviceData")] public AITValveData ValveAV89Data { get; set; }
 
-         [Subscription("PM1.ValveAV90.DeviceData")] public AITValveData ValveAV90Data { get; set; }
 
-         [Subscription("PM1.ValveAV91.DeviceData")] public AITValveData ValveAV91Data { get; set; }
 
-         [Subscription("PM1.ValveAV92.DeviceData")] public AITValveData ValveAV92Data { get; set; }
 
-         [Subscription("PM1.ValveAV93.DeviceData")] public AITValveData ValveAV93Data { get; set; }
 
-         [Subscription("PM1.ValveAV94.DeviceData")] public AITValveData ValveAV94Data { get; set; }
 
-         [Subscription("PM1.ValveAV95.DeviceData")] public AITValveData ValveAV95Data { get; set; }
 
-         [Subscription("PM1.ValveAV96.DeviceData")] public AITValveData ValveAV96Data { get; set; }
 
-         [Subscription("PM1.ValveAV97.DeviceData")] public AITValveData ValveAV97Data { get; set; }
 
-         [Subscription("PM1.ValveAV98.DeviceData")] public AITValveData ValveAV98Data { get; set; }
 
-         [Subscription("PM1.ValveAV99.DeviceData")] public AITValveData ValveAV99Data { get; set; }
 
-         [Subscription("PM1.ValveAV100.DeviceData")] public AITValveData ValveAV100Data { get; set; }
 
-         [Subscription("PM1.ValveAV101.DeviceData")] public AITValveData ValveAV101Data { get; set; }
 
-         [Subscription("PM1.ValveAV102.DeviceData")] public AITValveData ValveAV102Data { get; set; }
 
-         [Subscription("PM1.ValveAV103.DeviceData")] public AITValveData ValveAV103Data { get; set; }
 
-         [Subscription("PM1.ValveAV104.DeviceData")] public AITValveData ValveAV104Data { get; set; }
 
-         [Subscription("PM1.ValveAV105.DeviceData")] public AITValveData ValveAV105Data { get; set; }
 
-         [Subscription("PM1.ValveAV106.DeviceData")] public AITValveData ValveAV106Data { get; set; }
 
-         [Subscription("PM1.ValveAV107.DeviceData")] public AITValveData ValveAV107Data { get; set; }
 
-         [Subscription("PM1.ValveAV108.DeviceData")] public AITValveData ValveAV108Data { get; set; }
 
-         [Subscription("PM1.ValveAV109.DeviceData")] public AITValveData ValveAV109Data { get; set; }
 
-         [Subscription("PM1.ValveAV110.DeviceData")] public AITValveData ValveAV110Data { get; set; }
 
-         [Subscription("PM1.ValveAV111.DeviceData")] public AITValveData ValveAV111Data { get; set; }
 
-         [Subscription("PM1.ValveAV112.DeviceData")] public AITValveData ValveAV112Data { get; set; }
 
-         [Subscription("PM1.ValveAV113.DeviceData")] public AITValveData ValveAV113Data { get; set; }
 
-         [Subscription("PM1.ValveAV114.DeviceData")] public AITValveData ValveAV114Data { get; set; }
 
-         [Subscription("PM1.ValveAV115.DeviceData")] public AITValveData ValveAV115Data { get; set; }
 
-         [Subscription("PM1.ValveAV116.DeviceData")] public AITValveData ValveAV116Data { get; set; }
 
-         [Subscription("PM1.ValveAV117.DeviceData")] public AITValveData ValveAV117Data { get; set; }
 
-         [Subscription("PM1.ValveAV118.DeviceData")] public AITValveData ValveAV118Data { get; set; }
 
-         [Subscription("PM1.ValveAV119.DeviceData")] public AITValveData ValveAV119Data { get; set; }
 
-         [Subscription("PM1.ValveAV120.DeviceData")] public AITValveData ValveAV120Data { get; set; }
 
-         [Subscription("PM1.ValveAV121.DeviceData")] public AITValveData ValveAV121Data { get; set; }
 
-         [Subscription("PM1.ValveAV122.DeviceData")] public AITValveData ValveAV122Data { get; set; }
 
-         [Subscription("PM1.ValveAV123.DeviceData")] public AITValveData ValveAV123Data { get; set; }
 
-         [Subscription("PM1.ValveAV124.DeviceData")] public AITValveData ValveAV124Data { get; set; }
 
-         [Subscription("PM1.ValveAV125.DeviceData")] public AITValveData ValveAV125Data { get; set; }
 
-         [Subscription("PM1.ValveAV126.DeviceData")] public AITValveData ValveAV126Data { get; set; }
 
-         [Subscription("PM1.ValveAV127.DeviceData")] public AITValveData ValveAV127Data { get; set; }
 
-         [Subscription("PM1.ValveAV128.DeviceData")] public AITValveData ValveAV128Data { get; set; }
 
-         [Subscription("PM1.ValveAV129.DeviceData")] public AITValveData ValveAV129Data { get; set; }
 
-         [Subscription("PM1.ValveAV130.DeviceData")] public AITValveData ValveAV130Data { get; set; }
 
-         [Subscription("PM1.ValveAV131.DeviceData")] public AITValveData ValveAV131Data { get; set; }
 
-         [Subscription("PM1.ValveAV132.DeviceData")] public AITValveData ValveAV132Data { get; set; }
 
-         [Subscription("PM1.ValveAV133.DeviceData")] public AITValveData ValveAV133Data { get; set; }
 
-         [Subscription("PM1.ValveAV134.DeviceData")] public AITValveData ValveAV134Data { get; set; }
 
-         [Subscription("PM1.ValveAV135.DeviceData")] public AITValveData ValveAV135Data { get; set; }
 
-         [Subscription("PM1.ValveAV136.DeviceData")] public AITValveData ValveAV136Data { get; set; }
 
-         #endregion
 
-         #region APC
 
-         [Subscription("PM1.APC.DeviceData")]
 
-         public AITAPCData APCData { get; set; }
 
-         #endregion
 
-         #region Analog
 
-         [Subscription("PM1.HTCurrent1.DeviceData")]
 
-         public AITWaterFlowMeterData HTCurrent1 { get; set; }
 
-         [Subscription("PM1.HTCurrent2.DeviceData")]
 
-         public AITWaterFlowMeterData HTCurrent2 { get; set; }
 
-         [Subscription("PM1.HTCurrent3.DeviceData")]
 
-         public AITWaterFlowMeterData HTCurrent3 { get; set; }
 
-         [Subscription("PM1.HTCurrent4.DeviceData")]
 
-         public AITWaterFlowMeterData HTCurrent4 { get; set; }
 
-         [Subscription("PM1.HTCurrent5.DeviceData")]
 
-         public AITWaterFlowMeterData HTCurrent5 { get; set; }
 
-         [Subscription("PM1.HTVoltage1.DeviceData")]
 
-         public AITWaterFlowMeterData HTVoltage1 { get; set; }
 
-         [Subscription("PM1.HTVoltage2.DeviceData")]
 
-         public AITWaterFlowMeterData HTVoltage2 { get; set; }
 
-         [Subscription("PM1.HTVoltage3.DeviceData")]
 
-         public AITWaterFlowMeterData HTVoltage3 { get; set; }
 
-         [Subscription("PM1.HTVoltage4.DeviceData")]
 
-         public AITWaterFlowMeterData HTVoltage4 { get; set; }
 
-         [Subscription("PM1.HTVoltage5.DeviceData")]
 
-         public AITWaterFlowMeterData HTVoltage5 { get; set; }
 
-         [Subscription("PM1.HeaterWaterFlow.DeviceData")]
 
-         public AITWaterFlowMeterData HeaterWaterFlow { get; set; }
 
-         [Subscription("PM1.MFWaterFlow.DeviceData")]
 
-         public AITWaterFlowMeterData MFWaterFlow { get; set; }
 
-         [Subscription("PM1.CAPWaterFlow.DeviceData")]
 
-         public AITWaterFlowMeterData CAPWaterFlow { get; set; }
 
-         [Subscription("PM1.A_SWaterFlow.DeviceData")]
 
-         public AITWaterFlowMeterData A_SWaterFlow { get; set; }
 
-         [Subscription("PM1.HeaterEXH.DeviceData")]
 
-         public AITWaterFlowMeterData HeaterEXH { get; set; }
 
-         [Subscription("PM1.SCVEXH.DeviceData")]
 
-         public AITWaterFlowMeterData SCVEXH { get; set; }
 
-         [Subscription("PM1.G_UEXH.DeviceData")]
 
-         public AITWaterFlowMeterData G_UEXH { get; set; }
 
-         [Subscription("PM1.PT1Value.DeviceData")]
 
-         public AITWaterFlowMeterData PT1Value { get; set; }
 
-         [Subscription("PM1.PT2Value.DeviceData")]
 
-         public AITWaterFlowMeterData PT2Value { get; set; }
 
-         [Subscription("PM1.PT3Value.DeviceData")]
 
-         public AITWaterFlowMeterData PT3Value { get; set; }
 
-         [Subscription("PM1.PT4Value.DeviceData")]
 
-         public AITWaterFlowMeterData PT4Value { get; set; }
 
-         [Subscription("PM1.PT5Value.DeviceData")]
 
-         public AITWaterFlowMeterData PT5Value { get; set; }
 
-         [Subscription("PM1.PT6Value.DeviceData")]
 
-         public AITWaterFlowMeterData PT6Value { get; set; }
 
-         [Subscription("PM1.P_SW1Value.DeviceData")]
 
-         public AITWaterFlowMeterData P_SW1Value { get; set; }
 
-         [Subscription("PM1.P_SW2Value.DeviceData")]
 
-         public AITWaterFlowMeterData P_SW2Value { get; set; }
 
-         [Subscription("PM1.VG2Pressure.DeviceData")]
 
-         public AITWaterFlowMeterData VG2Pressure { get; set; }
 
-         #endregion
 
-         #region PM
 
-         [Subscription("PM1.Status")]
 
-         public string PM1Status { get; set; }
 
-         [Subscription("PM1.RecipeHold")]
 
-         public bool PM1RecipeHold { get; set; }
 
-         public bool IsMannualButtonEnabled
 
-         {
 
-             get
 
-             {
 
-                 return PM1Status != "Process" || (PM1Status == "Process" && PM1RecipeHold);
 
-             }
 
-         }
 
-         #endregion
 
-         [Subscription("PM1.CurrentAuxData")]
 
-         public List<AITAuxData> AUXDetailDatas { get; set; }
 
-         private bool _mFCIsChecked = false;
 
-         public bool MFCIsChecked
 
-         {
 
-             get => _mFCIsChecked;
 
-             set
 
-             {
 
-                 _mFCIsChecked = value;
 
-                 NotifyOfPropertyChange("MFCIsChecked");
 
-             }
 
-         }
 
-         private bool _mFMIsChecked = false;
 
-         public bool MFMIsChecked
 
-         {
 
-             get => _mFMIsChecked;
 
-             set
 
-             {
 
-                 _mFMIsChecked = value;
 
-                 NotifyOfPropertyChange("MFMIsChecked");
 
-             }
 
-         }
 
-         private bool _auxIsChecked = false;
 
-         public bool AuxIsChecked
 
-         {
 
-             get => _auxIsChecked;
 
-             set
 
-             {
 
-                 _auxIsChecked = value;
 
-                 NotifyOfPropertyChange("AuxIsChecked");
 
-             }
 
-         }
 
-         private bool _valveIsChecked = false;
 
-         public bool ValveIsChecked
 
-         {
 
-             get => _valveIsChecked;
 
-             set
 
-             {
 
-                 _valveIsChecked = value;
 
-                 NotifyOfPropertyChange("ValveIsChecked");
 
-             }
 
-         }
 
-         private Visibility _gridMFCVisibility = Visibility.Hidden;
 
-         public Visibility GridMFCVisibility
 
-         {
 
-             get => _gridMFCVisibility;
 
-             set
 
-             {
 
-                 _gridMFCVisibility = value;
 
-                 NotifyOfPropertyChange("GridMFCVisibility");
 
-             }
 
-         }
 
-         private Visibility _gridMFMVisibility = Visibility.Hidden;
 
-         public Visibility GridMFMVisibility
 
-         {
 
-             get => _gridMFMVisibility;
 
-             set
 
-             {
 
-                 _gridMFMVisibility = value;
 
-                 NotifyOfPropertyChange("GridMFMVisibility");
 
-             }
 
-         }
 
-         private Visibility _gridValveVisibility = Visibility.Hidden;
 
-         public Visibility GridValveVisibility
 
-         {
 
-             get => _gridValveVisibility;
 
-             set
 
-             {
 
-                 _gridValveVisibility = value;
 
-                 NotifyOfPropertyChange("GridValveVisibility");
 
-             }
 
-         }
 
-         private Visibility _gridAPCVisibility = Visibility.Hidden;
 
-         public Visibility GridAPCVisibility
 
-         {
 
-             get => _gridAPCVisibility;
 
-             set
 
-             {
 
-                 _gridAPCVisibility = value;
 
-                 NotifyOfPropertyChange("GridAPCVisibility");
 
-             }
 
-         }
 
-         private Visibility _gridAnalogVisibility = Visibility.Hidden;
 
-         public Visibility GridAnalogVisibility
 
-         {
 
-             get => _gridAnalogVisibility;
 
-             set
 
-             {
 
-                 _gridAnalogVisibility = value;
 
-                 NotifyOfPropertyChange("GridAnalogVisibility");
 
-             }
 
-         }
 
-         private Visibility _gridAUXVisibility = Visibility.Hidden;
 
-         public Visibility GridAUXVisibility
 
-         {
 
-             get => _gridAUXVisibility;
 
-             set
 
-             {
 
-                 _gridAUXVisibility = value;
 
-                 NotifyOfPropertyChange("GridAUXVisibility");
 
-             }
 
-         }
 
-         private ObservableCollection<MFCDetailValue> _mfcDetailDatas = new ObservableCollection<MFCDetailValue>();
 
-         public ObservableCollection<MFCDetailValue> MFCDetailDatas
 
-         {
 
-             get => _mfcDetailDatas;
 
-             set
 
-             {
 
-                 _mfcDetailDatas = value;
 
-                 NotifyOfPropertyChange("MFCDetailDatas");
 
-             }
 
-         }
 
-         private ObservableCollection<MFMDetailValue> _mfmDetailDatas = new ObservableCollection<MFMDetailValue>();
 
-         public ObservableCollection<MFMDetailValue> MFMDetailDatas
 
-         {
 
-             get => _mfmDetailDatas;
 
-             set
 
-             {
 
-                 _mfmDetailDatas = value;
 
-                 NotifyOfPropertyChange("MFMDetailDataLists");
 
-             }
 
-         }
 
-         private ObservableCollection<ValveDetailValue> _valveDetailDatas = new ObservableCollection<ValveDetailValue>();
 
-         public ObservableCollection<ValveDetailValue> ValveDetailDatas
 
-         {
 
-             get => _valveDetailDatas;
 
-             set
 
-             {
 
-                 _valveDetailDatas = value;
 
-                 NotifyOfPropertyChange("ValveDetailDatas");
 
-             }
 
-         }
 
-         private ObservableCollection<MFMDetailValue> _apcDetailDatas = new ObservableCollection<MFMDetailValue>();
 
-         public ObservableCollection<MFMDetailValue> APCDetailDatas
 
-         {
 
-             get => _apcDetailDatas;
 
-             set
 
-             {
 
-                 _apcDetailDatas = value;
 
-                 NotifyOfPropertyChange("APCDetailDatas");
 
-             }
 
-         }
 
-         private ObservableCollection<AnalogDetailValue> _analogDetailDatas = new ObservableCollection<AnalogDetailValue>();
 
-         public ObservableCollection<AnalogDetailValue> AnalogDetailDatas
 
-         {
 
-             get => _analogDetailDatas;
 
-             set
 
-             {
 
-                 AnalogDetailDatas = value;
 
-                 NotifyOfPropertyChange("AnalogDetailDatas");
 
-             }
 
-         }
 
-         private bool _isEnableMannual;
 
-         public bool IsEnableMannual
 
-         {
 
-             get => _isEnableMannual;
 
-             set
 
-             {
 
-                 _isEnableMannual = value;
 
-                 NotifyOfPropertyChange(nameof(IsEnableMannual));
 
-             }
 
-         }
 
-         private int _mannualSelectCount;
 
-      
 
-         protected override void OnActivate()
 
-         {
 
-             base.OnActivate();
 
-             MFCIsChecked = true;
 
-             MFMIsChecked = false;
 
-             ValveIsChecked=false;
 
-             AuxIsChecked = false;
 
-             GASSettingSelectCmd("MFC", null);
 
-         }
 
-         protected override void InvokeAfterUpdateProperty(Dictionary<string, object> data)
 
-         {
 
-             base.InvokeAfterUpdateProperty(data);
 
-             if (!IsEnableMannual)
 
-                 UpdateFlowValue();
 
-         }
 
-         private void UpdateFlowValue()
 
-         {
 
-             List<AITMfcData> allmfcData = new List<AITMfcData>()
 
-             {
 
-                 MFC1Data,
 
-                 MFC2Data,
 
-                 MFC3Data,
 
-                 MFC4Data,
 
-                 MFC5Data,
 
-                 MFC6Data,
 
-                 MFC7Data,
 
-                 MFC8Data,
 
-                 MFC9Data,
 
-                 MFC10Data,
 
-                 MFC11Data,
 
-                 MFC12Data,
 
-                 MFC13Data,
 
-                 MFC14Data,
 
-                 MFC15Data,
 
-                 MFC16Data,
 
-                 MFC17Data,
 
-                 MFC31Data,
 
-                 MFC32Data,
 
-                 MFC51Data,
 
-             };
 
-             List<AITMfcData> mfcData = new List<AITMfcData>()
 
-             {
 
-             };
 
-             foreach (var item in allmfcData)
 
-             {
 
-                 if (item != null)
 
-                 {
 
-                     mfcData.Add(item);
 
-                 }
 
-             }
 
-             List<AITMfcData> tempMFC = new List<AITMfcData>();
 
-             for (int i = 0; i < mfcData.Count; i++)
 
-             {
 
-                 if (mfcData[i] == null) continue;
 
-                 var IsMFCInstalled = (bool)QueryDataClient.Instance.Service.GetConfig($"PM1.MFC.{mfcData[i].DeviceName}.IsMFCInstalled");
 
-                 if (IsMFCInstalled)
 
-                 {
 
-                     tempMFC.Add(mfcData[i]);
 
-                 }
 
-             }
 
-             List<AITWaterFlowMeterData> allmfmData = new List<AITWaterFlowMeterData>()
 
-             {
 
-                 MFM1FlowData,
 
-                 MFM6FlowData,
 
-                 MFM7FlowData,
 
-                 MFM8FlowData,
 
-                 MFM9FlowData,
 
-                 MFM11FlowData,
 
-                 MFM12FlowData,
 
-                 MFM13FlowData,
 
-                 MFM16FlowData,
 
-                 MFM57FlowData,
 
-             };
 
-             List<AITWaterFlowMeterData> mfmData = new List<AITWaterFlowMeterData>()
 
-             {
 
-             };
 
-             foreach (var item in allmfmData)
 
-             {
 
-                 if (item != null)
 
-                 {
 
-                     mfmData.Add(item);
 
-                 }
 
-             }
 
-             List<AITWaterFlowMeterData> tempMFM = new List<AITWaterFlowMeterData>();
 
-             for (int i = 0; i < mfmData.Count; i++)
 
-             {
 
-                 if (mfmData[i] == null) continue;
 
-                 var IsMFMInstalled = (bool)QueryDataClient.Instance.Service.GetConfig($"PM1.MFM.{mfmData[i].DeviceName}.IsMFMInstalled");
 
-                 if (IsMFMInstalled)
 
-                 {
 
-                     tempMFM.Add(mfmData[i]);
 
-                 }
 
-             }
 
-             List<AITAPCData> apcData = new List<AITAPCData>()
 
-             {
 
-                 APCData,
 
-             };
 
-             List<AITValveData> allValveData = new List<AITValveData>()
 
-             {
 
-                 ValveAV1Data,
 
-                 ValveAV2Data,
 
-                 ValveAV3Data,
 
-                 ValveAV4Data,
 
-                 ValveAV5Data,
 
-                 ValveAV6Data,
 
-                 ValveAV7Data,
 
-                 ValveAV8Data,
 
-                 ValveAV9Data,
 
-                 ValveAV10Data,
 
-                 ValveAV11Data,
 
-                 ValveAV12Data,
 
-                 ValveAV13Data,
 
-                 ValveAV14Data,
 
-                 ValveAV15Data,
 
-                 ValveAV16Data,
 
-                 ValveAV17Data,
 
-                 ValveAV18Data,
 
-                 ValveAV19Data,
 
-                 ValveAV20Data,
 
-                 ValveAV21Data,
 
-                 ValveAV22Data,
 
-                 ValveAV23Data,
 
-                 ValveAV24Data,
 
-                 ValveAV25Data,
 
-                 ValveAV26Data,
 
-                 ValveAV27Data,
 
-                 ValveAV28Data,
 
-                 ValveAV29Data,
 
-                 ValveAV30Data,
 
-                 ValveAV31Data,
 
-                 ValveAV32Data,
 
-                 ValveAV33Data,
 
-                 ValveAV34Data,
 
-                 ValveAV35Data,
 
-                 ValveAV36Data,
 
-                 ValveAV37Data,
 
-                 ValveAV38Data,
 
-                 ValveAV39Data,
 
-                 ValveAV40Data,
 
-                 ValveAV41Data,
 
-                 ValveAV42Data,
 
-                 ValveAV43Data,
 
-                 ValveAV44Data,
 
-                 ValveAV45Data,
 
-                 ValveAV46Data,
 
-                 ValveAV47Data,
 
-                 ValveAV48Data,
 
-                 ValveAV49Data,
 
-                 ValveAV50Data,
 
-                 ValveAV51Data,
 
-                 ValveAV52Data,
 
-                 ValveAV53Data,
 
-                 ValveAV54Data,
 
-                 ValveAV55Data,
 
-                 ValveAV56Data,
 
-                 ValveAV57Data,
 
-                 ValveAV58Data,
 
-                 ValveAV59Data,
 
-                 ValveAV60Data,
 
-                 ValveAV61Data,
 
-                 ValveAV62Data,
 
-                 ValveAV63Data,
 
-                 ValveAV64Data,
 
-                 ValveAV65Data,
 
-                 ValveAV66Data,
 
-                 ValveAV67Data,
 
-                 ValveAV68Data,
 
-                 ValveAV69Data,
 
-                 ValveAV70Data,
 
-                 ValveAV71Data,
 
-                 ValveAV72Data,
 
-                 ValveAV73Data,
 
-                 ValveAV74Data,
 
-                 ValveAV75Data,
 
-                 ValveAV76Data,
 
-                 ValveAV77Data,
 
-                 ValveAV78Data,
 
-                 ValveAV79Data,
 
-                 ValveAV80Data,
 
-                 ValveAV81Data,
 
-                 ValveAV82Data,
 
-                 ValveAV83Data,
 
-                 ValveAV84Data,
 
-                 ValveAV85Data,
 
-                 ValveAV86Data,
 
-                 ValveAV87Data,
 
-                 ValveAV88Data,
 
-                 ValveAV89Data,
 
-                 ValveAV90Data,
 
-                 ValveAV91Data,
 
-                 ValveAV92Data,
 
-                 ValveAV93Data,
 
-                 ValveAV94Data,
 
-                 ValveAV95Data,
 
-                 ValveAV96Data,
 
-                 ValveAV97Data,
 
-                 ValveAV98Data,
 
-                 ValveAV99Data,
 
-                 ValveAV100Data,
 
-                 ValveAV101Data,
 
-                 ValveAV102Data,
 
-                 ValveAV103Data,
 
-                 ValveAV104Data,
 
-                 ValveAV105Data,
 
-                 ValveAV106Data,
 
-                 ValveAV107Data,
 
-                 ValveAV108Data,
 
-                 ValveAV109Data,
 
-                 ValveAV110Data,
 
-                 ValveAV111Data,
 
-                 ValveAV112Data,
 
-                 ValveAV113Data,
 
-                 ValveAV114Data,
 
-                 ValveAV115Data,
 
-                 ValveAV116Data,
 
-                 ValveAV117Data,
 
-                 ValveAV118Data,
 
-                 ValveAV119Data,
 
-                 ValveAV120Data,
 
-                 ValveAV121Data,
 
-                 ValveAV122Data,
 
-                 ValveAV123Data,
 
-                 ValveAV124Data,
 
-                 ValveAV125Data,
 
-                 ValveAV126Data,
 
-                 ValveAV127Data,
 
-                 ValveAV128Data,
 
-                 ValveAV129Data,
 
-                 ValveAV130Data,
 
-                 ValveAV131Data,
 
-                 ValveAV132Data,
 
-                 ValveAV133Data,
 
-                 ValveAV134Data,
 
-                 ValveAV135Data,
 
-                 ValveAV136Data
 
-             };
 
-             List<AITValveData> valveData = new List<AITValveData>()
 
-             {
 
-             };
 
-             foreach (var item in allValveData)
 
-             {
 
-                 if (item != null)
 
-                 {
 
-                     valveData.Add(item);
 
-                 }
 
-             }
 
-             if (MFCDetailDatas.Count == 0)
 
-             {
 
-                 for (int i = 0; i < tempMFC.Count; i++)
 
-                 {
 
-                     if (tempMFC[i] == null) continue;
 
-                     var Unit = (string)QueryDataClient.Instance.Service.GetConfig($"PM1.MFC.{tempMFC[i].DeviceName}.FlowUnit");
 
-                     var setpoint = mfcData[i].SetPoint.ToString("F1");
 
-                     MFCDetailDatas.Add(new MFCDetailValue()
 
-                     {
 
-                         Name = tempMFC[i].DeviceName,
 
-                         DisplayName = tempMFC[i].DisplayName,
 
-                         Unit = Unit,
 
-                         Setpoint = setpoint,
 
-                         Feedback = tempMFC[i].FeedBack.ToString("F3"),
 
-                         Ramping = tempMFC[i].Ramping.ToString("F1"),
 
-                         AlarmTable = string.IsNullOrEmpty(tempMFC[i].AlarmWatchTable) ? "None" : tempMFC[i].AlarmWatchTable,
 
-                         MaxValue = (double)QueryDataClient.Instance.Service.GetConfig($"PM1.MFC.{tempMFC[i].DeviceName}.N2Scale")
 
-                     });
 
-                 }
 
-             }
 
-             else
 
-             {
 
-                 for (int i = 0; i < tempMFC.Count; i++)
 
-                 {
 
-                     if (tempMFC[i] == null) continue;
 
-                     var Unit = (string)QueryDataClient.Instance.Service.GetConfig($"PM1.MFC.{mfcData[i].DeviceName}.FlowUnit");
 
-                     var setpoint = tempMFC[i].SetPoint.ToString("F1");
 
-                     MFCDetailDatas[i].Name = tempMFC[i].DeviceName;
 
-                     MFCDetailDatas[i].DisplayName = tempMFC[i].DisplayName;
 
-                     MFCDetailDatas[i].Unit = Unit;
 
-                     MFCDetailDatas[i].Setpoint = setpoint;
 
-                     MFCDetailDatas[i].Feedback = tempMFC[i].FeedBack.ToString("F3");
 
-                     MFCDetailDatas[i].Ramping = tempMFC[i].Ramping.ToString("F1");
 
-                     MFCDetailDatas[i].AlarmTable = string.IsNullOrEmpty(tempMFC[i].AlarmWatchTable) ? "None" : tempMFC[i].AlarmWatchTable;
 
-                 }
 
-             }
 
-             if (MFMDetailDatas.Count == 0)
 
-             {
 
-                 for (int i = 0; i < tempMFM.Count; i++)
 
-                 {
 
-                     if (tempMFM[i] == null) continue;
 
-                     var Unit = (string)QueryDataClient.Instance.Service.GetConfig($"PM1.MFM.{tempMFM[i].DeviceName}.FlowUnit");
 
-                     MFMDetailDatas.Add(new MFMDetailValue()
 
-                     {
 
-                         Name = tempMFM[i].DeviceName,
 
-                         DisplayName = tempMFM[i].DisplayName,
 
-                         Unit = Unit,
 
-                         Setpoint = tempMFM[i].SetPoint.ToString("F1"),
 
-                         Feedback = tempMFM[i].FeedBack.ToString("F1"),
 
-                         AlarmTable = string.IsNullOrEmpty(tempMFM[i].AlarmWatchTable) ? "None" : tempMFM[i].AlarmWatchTable,
 
-                     });
 
-                 }
 
-             }
 
-             else
 
-             {
 
-                 for (int i = 0; i < tempMFM.Count; i++)
 
-                 {
 
-                     if (tempMFM[i] == null) continue;
 
-                     var Unit = (string)QueryDataClient.Instance.Service.GetConfig($"PM1.MFM.{tempMFM[i].DeviceName}.FlowUnit");
 
-                     MFMDetailDatas[i].Name = tempMFM[i].DeviceName;
 
-                     MFMDetailDatas[i].DisplayName = tempMFM[i].DeviceName;
 
-                     MFMDetailDatas[i].Unit = Unit;
 
-                     MFMDetailDatas[i].Setpoint = tempMFM[i].SetPoint.ToString("F1");
 
-                     MFMDetailDatas[i].Feedback = tempMFM[i].FeedBack.ToString("F1");
 
-                     MFMDetailDatas[i].AlarmTable = string.IsNullOrEmpty(tempMFM[i].AlarmWatchTable) ? "None" : tempMFM[i].AlarmWatchTable;
 
-                 }
 
-             }
 
-             if (ValveDetailDatas.Count == 0)
 
-             {
 
-                 for (int i = 0; i < valveData.Count; i++)
 
-                 {
 
-                     if (valveData[i] == null) continue;
 
-                     ValveDetailDatas.Add(new ValveDetailValue()
 
-                     {
 
-                         Name = valveData[i].DeviceName,
 
-                         DisplayName = valveData[i].DisplayName,
 
-                         Feedback = valveData[i].Feedback,
 
-                         Value = valveData[i].IsOpen ? "Open" : "Close",
 
-                         IsEnable = IsEnableMannual,
 
-                     });
 
-                 }
 
-             }
 
-             else
 
-             {
 
-                 for (int i = 0; i < valveData.Count; i++)
 
-                 {
 
-                     if (valveData[i] == null) continue;
 
-                     ValveDetailDatas[i].Name = valveData[i].DeviceName;
 
-                     ValveDetailDatas[i].DisplayName = valveData[i].DisplayName;
 
-                     ValveDetailDatas[i].Feedback = valveData[i].Feedback;
 
-                     ValveDetailDatas[i].Value = valveData[i].IsOpen ? "Open" : "Close";
 
-                     ValveDetailDatas[i].IsEnable = IsEnableMannual;
 
-                 }
 
-             }
 
-         }
 
-         public void MFCSetCmd(object senderName, object sender, object typeName, double maxValue)
 
-         {
 
-             string name = senderName.ToString();
 
-             var control = (Button)sender;
 
-             switch (typeName.ToString())
 
-             {
 
-                 case "Setpoint":
 
-                     var windowManager = IoC.Get<IWindowManager>();
 
-                     RecipeFlowSettingViewModel recipeFlowSettingViewModel = new RecipeFlowSettingViewModel();
 
-                     recipeFlowSettingViewModel.SelectMfcFlow = name.ToUpper();
 
-                     recipeFlowSettingViewModel.SelectFlowValue = control.Content.ToString();
 
-                     recipeFlowSettingViewModel.MaxValue = maxValue;
 
-                     if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(recipeFlowSettingViewModel, null, "GasDetail Flow Setting"))
 
-                     {
 
-                         MFCDetailDatas.Where(x => x.Name == name).FirstOrDefault().Setpoint = recipeFlowSettingViewModel.SelectFlow;
 
-                     }
 
-                     break;
 
-                 case "Ramping":
 
-                     string strRetValue = ShowNumberKeyboard(sender as Button, "");
 
-                     if (strRetValue != "Cancel")
 
-                     {
 
-                         MFCDetailDatas.Where(x => x.Name == name).FirstOrDefault().Ramping = strRetValue;
 
-                     }
 
-                     break;
 
-                 case "AlarmTable":
 
-                     RecipeGASSettingMFCAlarmViewModel view = new RecipeGASSettingMFCAlarmViewModel(MFCDetailDatas.Where(x => x.Name == name).FirstOrDefault().AlarmTable);
 
-                     WindowManager wm = IoC.Get<IWindowManager>() as WindowManager;
 
-                     if (!(bool)wm.ShowDialogWithTitle(view, null, "Select Flow Alarm Table")) break;
 
-                     MFCDetailDatas.Where(x => x.Name == name).FirstOrDefault().AlarmTable = view.CurrentValue;
 
-                     break;
 
-             }
 
-         }
 
-         public void MFMSetCmd(object senderName, object sender, object typeName)
 
-         {
 
-             string name = senderName.ToString();
 
-             switch (typeName.ToString())
 
-             {
 
-                 case "Setpoint":
 
-                     string strRetValue = ShowNumberKeyboard(sender as Button, "");
 
-                     if (strRetValue != "Cancel")
 
-                     {
 
-                         MFMDetailDatas.Where(x => x.Name == name).FirstOrDefault().Setpoint = strRetValue;
 
-                     }
 
-                     break;
 
-                 case "AlarmTable":
 
-                     RecipeGASSettingMFCAlarmViewModel view = new RecipeGASSettingMFCAlarmViewModel(MFMDetailDatas.Where(x => x.Name == name).FirstOrDefault().AlarmTable);
 
-                     WindowManager wm = IoC.Get<IWindowManager>() as WindowManager;
 
-                     if (!(bool)wm.ShowDialogWithTitle(view, null, "Select Flow Alarm Table")) break;
 
-                     MFMDetailDatas.Where(x => x.Name == name).FirstOrDefault().AlarmTable = view.CurrentValue;
 
-                     break;
 
-             }
 
-         }
 
-         public void ValveSetCmd(object senderName)
 
-         {
 
-             string name = senderName.ToString();
 
-             SwitchDialog dlg = new SwitchDialog();
 
-             dlg.IsOpen = ValveDetailDatas.Where(x => x.Name == name).FirstOrDefault().Value == "Open";
 
-             dlg.WindowStartupLocation = WindowStartupLocation.CenterScreen;
 
-             dlg.ShowDialog();
 
-             if (dlg.IsSave)
 
-             {
 
-                 ValveDetailDatas.Where(x => x.Name == name).FirstOrDefault().Value = dlg.IsOpen ? "Open" : "Close";
 
-             }
 
-         }
 
-         public void APCSetCmd(object senderName, object sender, object typeName)
 
-         {
 
-             string name = senderName.ToString();
 
-             switch (typeName.ToString())
 
-             {
 
-                 case "Setpoint":
 
-                     string strRetValue = ShowNumberKeyboard(sender as Button, "");
 
-                     if (strRetValue != "Cancel")
 
-                     {
 
-                         APCDetailDatas.Where(x => x.Name == name).FirstOrDefault().Setpoint = strRetValue;
 
-                     }
 
-                     break;
 
-                 case "AlarmTable":
 
-                     RecipeGASSettingMFCAlarmViewModel view = new RecipeGASSettingMFCAlarmViewModel(APCDetailDatas.Where(x => x.Name == name).FirstOrDefault().AlarmTable);
 
-                     WindowManager wm = IoC.Get<IWindowManager>() as WindowManager;
 
-                     if (!(bool)wm.ShowDialogWithTitle(view, null, "Select Flow Alarm Table")) break;
 
-                     APCDetailDatas.Where(x => x.Name == name).FirstOrDefault().AlarmTable = view.CurrentValue;
 
-                     break;
 
-             }
 
-         }
 
-         private string ShowNumberKeyboard(Control control, string defaultValue)
 
-         {
 
-             NumberKeyboard numberKeyboard = new NumberKeyboard("", defaultValue);
 
-             var point = control.PointFromScreen(new Point(0, 0));
 
-             double wx = SystemParameters.WorkArea.Width;
 
-             double hy = SystemParameters.WorkArea.Height;
 
-             if (-point.Y + control.ActualHeight + 5 + numberKeyboard.Height < hy)
 
-             {
 
-                 numberKeyboard.Top = -point.Y + control.ActualHeight + 5;
 
-             }
 
-             else
 
-             {
 
-                 numberKeyboard.Top = -point.Y - numberKeyboard.Height - 5;
 
-             }
 
-             if (-point.X + numberKeyboard.Width < wx)
 
-             {
 
-                 numberKeyboard.Left = -point.X;
 
-             }
 
-             else
 
-             {
 
-                 numberKeyboard.Left = -point.X - (numberKeyboard.Width - control.ActualWidth);
 
-             }
 
-             if ((bool)numberKeyboard.ShowDialog())
 
-                 return numberKeyboard.ValueString;
 
-             else
 
-                 return "Cancel";
 
-         }
 
-         public void GASSettingSelectCmd(string cmd, object sender)
 
-         {
 
-             if (sender != null)
 
-             {
 
-                 ((RadioButton)sender).IsChecked = true;
 
-             }
 
-             else
 
-             {
 
-             }
 
-             GridMFCVisibility = Visibility.Hidden;
 
-             GridMFMVisibility = Visibility.Hidden;
 
-             GridValveVisibility = Visibility.Hidden;
 
-             GridAPCVisibility = Visibility.Hidden;
 
-             GridAnalogVisibility = Visibility.Hidden;
 
-             GridAUXVisibility = Visibility.Hidden;
 
-             switch (cmd)
 
-             {
 
-                 case "MFC":
 
-                     GridMFCVisibility = Visibility.Visible;
 
-                     break;
 
-                 case "MFM":
 
-                     GridMFMVisibility = Visibility.Visible;
 
-                     break;
 
-                 case "Valve":
 
-                     GridValveVisibility = Visibility.Visible;
 
-                     break;
 
-                 case "APC":
 
-                     GridAPCVisibility = Visibility.Visible;
 
-                     break;
 
-                 case "Analog":
 
-                     GridAnalogVisibility = Visibility.Visible;
 
-                     break;
 
-                 case "AUX":
 
-                     GridAUXVisibility = Visibility.Visible;
 
-                     break;
 
-                 default:
 
-                     break;
 
-             }
 
-         }
 
-         public void MannualSelectCmd()
 
-         {
 
-             _mannualSelectCount++;
 
-             if (_mannualSelectCount % 2 == 0)
 
-             {
 
-                 IsEnableMannual = false;
 
-             }
 
-             else
 
-             {
 
-                 IsEnableMannual = true;
 
-             }
 
-             UpdateFlowValue();
 
-         }
 
-         public void ExecCmd()
 
-         {
 
-             if (!DialogBox.Confirm("Ara you sure to execute?"))
 
-                 return;
 
-             for (int i = 0; i < MFCDetailDatas.Count; i++)
 
-             {
 
-                 InvokeClient.Instance.Service.DoOperation($"PM1.{MFCDetailDatas[i].Name}.SetMfcValue", $"{MFCDetailDatas[i].Setpoint};{MFCDetailDatas[i].Ramping};{MFCDetailDatas[i].AlarmTable}");
 
-             }
 
-             for (int i = 0; i < MFMDetailDatas.Count; i++)
 
-             {
 
-                 InvokeClient.Instance.Service.DoOperation($"PM1.{MFMDetailDatas[i].Name}.SetMfmValue", $"{MFMDetailDatas[i].Setpoint};{MFMDetailDatas[i].AlarmTable}");
 
-             }
 
-             for (int i = 0; i < ValveDetailDatas.Count; i++)
 
-             {
 
-                 InvokeClient.Instance.Service.DoOperation($"PM1.{ValveDetailDatas[i].Name}.{AITValveOperation.GVTurnValve}", ValveDetailDatas[i].Value == "Open");
 
-             }
 
-             _mannualSelectCount = 0;
 
-             IsEnableMannual = false;
 
-         }
 
-         public void CloseCmd()
 
-         {
 
-             ((Window)GetView()).DialogResult = false;
 
-         }
 
-     }
 
-     public class AnalogDetailValue : PropertyChangedBase
 
-     {
 
-         private string _name;
 
-         public string Name
 
-         {
 
-             get => _name;
 
-             set
 
-             {
 
-                 _name = value;
 
-                 NotifyOfPropertyChange("Name");
 
-             }
 
-         }
 
-         private string _displayName;
 
-         public string DisplayName
 
-         {
 
-             get => _displayName;
 
-             set
 
-             {
 
-                 _displayName = value;
 
-                 NotifyOfPropertyChange("DisplayName");
 
-             }
 
-         }
 
-         public string _unit;
 
-         public string Unit
 
-         {
 
-             get => _unit;
 
-             set
 
-             {
 
-                 _unit = value;
 
-                 NotifyOfPropertyChange("Unit");
 
-             }
 
-         }
 
-         private string _feedback;
 
-         public string Feedback
 
-         {
 
-             get => _feedback;
 
-             set
 
-             {
 
-                 _feedback = value;
 
-                 NotifyOfPropertyChange("Feedback");
 
-             }
 
-         }
 
-     }
 
-     public class ValveDetailValue : PropertyChangedBase
 
-     {
 
-         private string _name;
 
-         public string Name
 
-         {
 
-             get => _name;
 
-             set
 
-             {
 
-                 _name = value;
 
-                 NotifyOfPropertyChange("Name");
 
-             }
 
-         }
 
-         private string _displayName;
 
-         public string DisplayName
 
-         {
 
-             get => _displayName;
 
-             set
 
-             {
 
-                 _displayName = value;
 
-                 NotifyOfPropertyChange("DisplayName");
 
-             }
 
-         }
 
-         private string _value;
 
-         public string Value
 
-         {
 
-             get => _value;
 
-             set
 
-             {
 
-                 _value = value;
 
-                 NotifyOfPropertyChange("Value");
 
-             }
 
-         }
 
-         private bool _feedback;
 
-         public bool Feedback
 
-         {
 
-             get => _feedback;
 
-             set
 
-             {
 
-                 _feedback = value;
 
-                 NotifyOfPropertyChange("Feedback");
 
-             }
 
-         }
 
-         private bool _isEnable = true;
 
-         public bool IsEnable
 
-         {
 
-             get => _isEnable;
 
-             set
 
-             {
 
-                 _isEnable = value;
 
-                 NotifyOfPropertyChange("IsEnable");
 
-             }
 
-         }
 
-     }
 
-     public class MFMDetailValue : PropertyChangedBase
 
-     {
 
-         private string _name;
 
-         public string Name
 
-         {
 
-             get => _name;
 
-             set
 
-             {
 
-                 _name = value;
 
-                 NotifyOfPropertyChange("Name");
 
-             }
 
-         }
 
-         private string _displayName;
 
-         public string DisplayName
 
-         {
 
-             get => _displayName;
 
-             set
 
-             {
 
-                 _displayName = value;
 
-                 NotifyOfPropertyChange("DisplayName");
 
-             }
 
-         }
 
-         public string _unit;
 
-         public string Unit
 
-         {
 
-             get => _unit;
 
-             set
 
-             {
 
-                 _unit = value;
 
-                 NotifyOfPropertyChange("Unit");
 
-             }
 
-         }
 
-         private string _setpoint;
 
-         public string Setpoint
 
-         {
 
-             get => _setpoint;
 
-             set
 
-             {
 
-                 _setpoint = value;
 
-                 NotifyOfPropertyChange("Setpoint");
 
-             }
 
-         }
 
-         private string _feedback;
 
-         public string Feedback
 
-         {
 
-             get => _feedback;
 
-             set
 
-             {
 
-                 _feedback = value;
 
-                 NotifyOfPropertyChange("Feedback");
 
-             }
 
-         }
 
-         private string _alarmTable;
 
-         public string AlarmTable
 
-         {
 
-             get => _alarmTable; set
 
-             {
 
-                 _alarmTable = value;
 
-                 NotifyOfPropertyChange("AlarmTable");
 
-             }
 
-         }
 
-     }
 
-     public class MFCDetailValue : PropertyChangedBase
 
-     {
 
-         private string _name;
 
-         public string Name
 
-         {
 
-             get => _name;
 
-             set
 
-             {
 
-                 _name = value;
 
-                 NotifyOfPropertyChange("Name");
 
-             }
 
-         }
 
-         private string _displayName;
 
-         public string DisplayName
 
-         {
 
-             get => _displayName;
 
-             set
 
-             {
 
-                 _displayName = value;
 
-                 NotifyOfPropertyChange("DisplayName");
 
-             }
 
-         }
 
-         public string _unit;
 
-         public string Unit
 
-         {
 
-             get => _unit;
 
-             set
 
-             {
 
-                 _unit = value;
 
-                 NotifyOfPropertyChange("Unit");
 
-             }
 
-         }
 
-         private string _setpoint;
 
-         public string Setpoint
 
-         {
 
-             get => _setpoint;
 
-             set
 
-             {
 
-                 _setpoint = value;
 
-                 NotifyOfPropertyChange("Setpoint");
 
-             }
 
-         }
 
-         private string _feedback;
 
-         public string Feedback
 
-         {
 
-             get => _feedback;
 
-             set
 
-             {
 
-                 _feedback = value;
 
-                 NotifyOfPropertyChange("Feedback");
 
-             }
 
-         }
 
-         private string _ramping;
 
-         public string Ramping
 
-         {
 
-             get => _ramping;
 
-             set
 
-             {
 
-                 _ramping = value;
 
-                 NotifyOfPropertyChange("Ramping");
 
-             }
 
-         }
 
-         private string _alarmTable;
 
-         public string AlarmTable
 
-         {
 
-             get => _alarmTable; set
 
-             {
 
-                 _alarmTable = value;
 
-                 NotifyOfPropertyChange("AlarmTable");
 
-             }
 
-         }
 
-         private double _maxValue;
 
-         public double MaxValue
 
-         {
 
-             get { return _maxValue; }
 
-             set
 
-             {
 
-                 _maxValue = value;
 
-                 NotifyOfPropertyChange("MaxValue");
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |