using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MECF.Framework.Common.CommonData.Vpw
{
    public class VpwMainCommonData : NotifiableItem
    {
        #region 属性
        public bool ChamberClosed { get { return _chamberClosed; } set { _chamberClosed = value;InvokePropertyChanged(nameof(ChamberClosed)); } }
        public bool ChamberOpened { get { return _chamberOpened; } set { _chamberOpened = value;InvokePropertyChanged(nameof(ChamberOpened)); } }
        
        public bool ChamberClose { get { return _chamberClose; } set { _chamberClose = value;InvokePropertyChanged(nameof(ChamberClose)); } }
        public double VacuumPumpPressure { get { return _vacuumPumpPressure; } set { _vacuumPumpPressure = value; InvokePropertyChanged(nameof(VacuumPumpPressure)); } }
      
        public bool VacuumPumpPower { get { return _vaccumPumpPower; } set { _vaccumPumpPower = value;InvokePropertyChanged(nameof(VacuumPumpPower)); } }
       
        public bool VacuumPumpEnable { get { return _vacuumPumpEnable; } set { _vacuumPumpEnable = value;InvokePropertyChanged(nameof(VacuumPumpEnable)); } }
        public bool VacuumPumpSpeedEnable { get { return _vacuumPumpSpeedEnable; } set { _vacuumPumpSpeedEnable = value;InvokePropertyChanged(nameof(VacuumPumpSpeedEnable)); } }
        public double VacuumPumpSpeed { get { return _vacuumPumpSpeed; } set { _vacuumPumpSpeed = value;InvokePropertyChanged(nameof(VacuumPumpSpeed)); } }
        public bool BoosterPumpStatus { get { return _boosterPumpStatus; } set { _boosterPumpStatus = value; InvokePropertyChanged(nameof(BoosterPumpStatus)); } }
       
        public double BoosterPumpSpeed { get { return _boosterPumpSpeed; } set { _boosterPumpSpeed = value; InvokePropertyChanged(nameof(BoosterPumpSpeed)); } }
        
        public bool BoosterPumpEnable { get { return _boosterPumpEnable; } set { _boosterPumpEnable = value;InvokePropertyChanged(nameof(BoosterPumpEnable)); } }
        /// 
        /// pump状态内容
        /// 
        public string BoosterPumpStatusContent { get { return _boosterPumpStatusContent; } set { _boosterPumpStatusContent = value; InvokePropertyChanged(nameof(BoosterPumpStatusContent)); } }
        /// 
        /// pump模式(Manual or Auto)
        /// 
        public string BoosterPumpModel { get { return _boosterPumpModel; } set { _boosterPumpModel = value; InvokePropertyChanged(nameof(_boosterPumpModel)); } }
        /// 
        /// pump电流
        /// 
        public double BoosterPumpCurrent { get { return _boosterPumpCurrent; } set { _boosterPumpCurrent = value; InvokePropertyChanged(nameof(BoosterPumpCurrent)); } }
        /// 
        /// Pump Speed Auto模式
        /// 
        public bool BoosterPumpSpeedAuto { get { return _boosterPumpSpeedAuto; } set { _boosterPumpSpeedAuto = value; InvokePropertyChanged(nameof(BoosterPumpSpeedAuto)); } }
        /// 
        /// 目标压力
        /// 
        public double PressureTarget { get { return _pressureTarget; } set { _pressureTarget = value; InvokePropertyChanged(nameof(PressureTarget)); } }
        /// 
        /// Pump pressure数据
        /// 
        public CommonLimitData BoosterPumpPressureData { get { return _boosterPumpPressureData; } set { _boosterPumpPressureData = value; InvokePropertyChanged(nameof(BoosterPumpPressureData)); } }
        ///
        /// 数据是否初始化
        /// 
        public bool IsDataInitialized { get { return _isDataInitialized; } set { _isDataInitialized = value; InvokePropertyChanged(nameof(IsDataInitialized)); } }
        public bool DiwEnable { get { return _diwEnable; } set { _diwEnable = value;InvokePropertyChanged(nameof(DiwEnable)); } }
        public bool DiwProcess { get { return _diwProcess; } set { _diwProcess = value;InvokePropertyChanged(nameof(DiwProcess)); } }
        public bool DiwDegas { get { return _diwDegas; } set { _diwDegas = value;InvokePropertyChanged(nameof(DiwDegas)); } }
        public double DiwTotalFlow { get { return _diwTotalFlow; } set { _diwTotalFlow = value; InvokePropertyChanged(nameof(DiwTotalFlow)); } }
        public double DiwPressure { get { return _diwPressure; } set { _diwPressure = value; InvokePropertyChanged(nameof(DiwPressure)); } }
        public bool DegasAdjust { get { return _degasAdjust; } set { _degasAdjust = value;InvokePropertyChanged(nameof(DegasAdjust)); } }
        public bool DegasPurge { get { return _degasPurge; } set { _degasPurge = value;InvokePropertyChanged(nameof(DegasPurge)); } }
        public bool DegasPumpEnable { get { return _degasPumpEnable; } set { _degasPumpEnable = value;InvokePropertyChanged(nameof(DegasPumpEnable)); } }
        public double DegasPumpPressure { get { return _degasPumpPressure; } set { _degasPumpPressure = value; InvokePropertyChanged(nameof(DegasPumpPressure)); } }
        #endregion
        #region 内部变量
        private bool _chamberClosed;
        private bool _chamberOpened;
        private bool _chamberClose;
        private double _vacuumPumpPressure;
        private bool _vaccumPumpPower;
        private bool _vacuumPumpEnable;
        private bool _vacuumPumpSpeedEnable;
        private double _vacuumPumpSpeed;
        private double _boosterPumpSpeed;
        private bool _boosterPumpSpeedAuto;
        private string _boosterPumpStatusContent;
        private string _boosterPumpModel;
        private double _boosterPumpCurrent;
        private double _pressureTarget;
        private CommonLimitData _boosterPumpPressureData;
        private bool _boosterPumpEnable;
        private bool _boosterPumpStatus;
        private bool _diwEnable;
        private bool _diwProcess;
        private bool _diwDegas;
        private double _diwTotalFlow;
        private double _diwPressure;
        private bool _degasAdjust;
        private bool _degasPurge;
        private bool _degasPumpEnable;
        private bool _isDataInitialized;
        private double _degasPumpPressure;
        #endregion
    }
}