| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438 | 
							- 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; }
 
-         [Subscription("PM1.Tank1Pressure.DeviceData")]
 
-         public AITWaterFlowMeterData Tank1Pressure { get; set; }
 
-         [Subscription("PM1.Tank2Pressure.DeviceData")]
 
-         public AITWaterFlowMeterData Tank2Pressure { get; set; }
 
-         [Subscription("PM1.VG21.DeviceData")]
 
-         public AITWaterFlowMeterData VG21Data { get; set; }
 
-         [Subscription("PM1.VG22.DeviceData")]
 
-         public AITWaterFlowMeterData VG22Data { get; set; }
 
-         [Subscription("PM1.VG32Pressure.DeviceData")]
 
-         public AITWaterFlowMeterData VG32Pressure { get; set; }
 
-         [Subscription("PM1.VG33Pressure.DeviceData")]
 
-         public AITWaterFlowMeterData VG33Pressure { 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);
 
-                 }
 
-             }
 
-             List<AITWaterFlowMeterData> tempPresure = new List<AITWaterFlowMeterData>();
 
-             if (Tank1Pressure != null)
 
-             {
 
-                 tempPresure.Add(Tank1Pressure);
 
-             }
 
-             if (Tank2Pressure != null)
 
-             {
 
-                 tempPresure.Add(Tank2Pressure);
 
-             }
 
-             if (VG21Data != null)
 
-             {
 
-                 tempPresure.Add(VG21Data);
 
-             }
 
-             if (VG22Data != null)
 
-             {
 
-                 tempPresure.Add(VG22Data);
 
-             }
 
-             if (VG32Pressure != null)
 
-             {
 
-                 tempPresure.Add(VG32Pressure);
 
-             }
 
-             if (VG33Pressure != null)
 
-             {
 
-                 tempPresure.Add(VG33Pressure);
 
-             }
 
-             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;
 
-                 }
 
-             }
 
-             if (AnalogDetailDatas.Count == 0)
 
-             {
 
-                 for (int i = 0; i < tempPresure.Count; i++)
 
-                 {
 
-                     if (tempPresure[i] == null) continue;
 
-                     AnalogDetailDatas.Add(new AnalogDetailValue()
 
-                     {
 
-                         Name = tempPresure[i].DeviceName,
 
-                         DisplayName = tempPresure[i].DisplayName,
 
-                         Unit = tempPresure[i].Unit,
 
-                         Feedback = tempPresure[i].FeedBack.ToString("F1")
 
-                     });
 
-                 }
 
-             }
 
-             else
 
-             {
 
-                 for (int i = 0; i < tempPresure.Count; i++)
 
-                 {
 
-                     if (tempPresure[i] == null) continue;
 
-                     AnalogDetailDatas[i].Name = tempPresure[i].DeviceName;
 
-                     AnalogDetailDatas[i].DisplayName = tempPresure[i].DeviceName;
 
-                     AnalogDetailDatas[i].Unit = tempPresure[i].Unit;
 
-                     AnalogDetailDatas[i].Feedback = tempPresure[i].FeedBack.ToString("F1");
 
-                 }
 
-             }
 
-         }
 
-         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");
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |