| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | using Aitex.Core.Common;using Aitex.Core.Util;using MECF.Framework.Common.DataCenter;using MECF.Framework.Common.OperationCenter;using MECF.Framework.UI.Client.ClientBase;using OpenSEMI.ClientBase;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows;using FurnaceUI.Models;namespace FurnaceUI.Views.Operations{    public class CassetteRobotWaferViewModel : FurnaceUIViewModelBase    {        public CassetteRobotWaferViewModel()        {        }                private ModuleInfo _cassetteRobotData;        public ModuleInfo CassetteRobotData        {            get { return _cassetteRobotData; }            set            {                _cassetteRobotData = value;                NotifyOfPropertyChange("CassetteRobotData");            }        }        [Subscription("StageA.CassettePresent")]        public bool IsStageACassettePresent { get; set; }        protected override void OnActivate()        {            base.OnActivate();        }        protected override void OnDeactivate(bool close)        {            base.OnDeactivate(close);            //RefreshCassetteData.Stop();        }        protected override void InvokeAfterUpdateProperty(Dictionary<string, object> data)        {            RefreshCassetteDataTask();        }        private bool RefreshCassetteDataTask()        {            CassetteRobotData = ModuleManager.ModuleInfos["CassetteRobot"];            return true;        }        public void CloseCmd()        {            ((Window)GetView()).Close();        }    }}
 |