using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MECF.Framework.Common.CommonData.Loader
{
    public class LoaderCommonData : NotifiableItem
    {
        #region 内部变量
        private bool _waferHolderPresent = false;
        private bool _waferHolderClamp=false;
        private bool _wsSideABClamp = false;
        private bool _dripTrayFluid = false;
        private bool _sideAWaferHolderClamp = false;
        private bool _sideBWaferHolderClamp = false;
        private bool _leakFlowClamp;
        private bool _leakVacuum;
        private double _leakFlow = 0;
        private double _leakVacuumValue = 0;
        private string _leakStatus = "";
        private double _leakMajor = 0;
        private double _leakMinor = 0;
        /// 
        /// Flow Test Enable
        /// 
        private bool _isFlowStartEnable = true;
        /// 
        /// Flow Test Stop Enable
        /// 
        private bool _isFlowStopEnable = false;
        private List _flowValues = new List();
        #endregion
        #region 属性
        public bool WaferHolderPresent
        {
            get { return _waferHolderPresent; }
            set { _waferHolderPresent = value; InvokePropertyChanged(nameof(WaferHolderPresent)); }
        }
        public bool WaferHolderClamp
        {
            get { return _waferHolderClamp; }
            set { _waferHolderClamp = value;InvokePropertyChanged(nameof(WaferHolderClamp)); }
        }
        public bool DripTrayFluid
        {
            get { return _dripTrayFluid;}
            set { _dripTrayFluid = value; InvokePropertyChanged(nameof(DripTrayFluid));}
        }
        public bool WSSideABClamp
        {
            get { return _wsSideABClamp; }
            set { _wsSideABClamp = value; InvokePropertyChanged(nameof(WSSideABClamp)); }
        }
        public bool SideAWaferHolderClamp
        {
            get { return _sideAWaferHolderClamp; }
            set { _sideAWaferHolderClamp = value; InvokePropertyChanged(nameof(SideAWaferHolderClamp)); }
        }
        public bool SideBWaferHolderClamp
        {
            get { return _sideBWaferHolderClamp; }
            set { _sideBWaferHolderClamp = value; InvokePropertyChanged(nameof(SideBWaferHolderClamp)); }
        }
        public bool LeakFlowClamp
        {
            get { return _leakFlowClamp; }
            set { _leakFlowClamp = value; InvokePropertyChanged(nameof(LeakFlowClamp)); }
        }
        public bool LeakVacuum
        {
            get { return _leakVacuum; }
            set { _leakVacuum = value; InvokePropertyChanged(nameof(LeakVacuum)); }
        }
        public double LeakFlow
        {
            get { return _leakFlow; }
            set { _leakFlow = value; InvokePropertyChanged(nameof(LeakFlow)); }
        }
        public double LeakVacuumValue
        {
            get { return _leakVacuumValue; }
            set { _leakVacuumValue = value;InvokePropertyChanged(nameof(LeakVacuumValue)); }
        }
        public string LeakStatus
        {
            get { return _leakStatus; }
            set { _leakStatus = value; InvokePropertyChanged(nameof(LeakStatus)); }
        }
        public double LeakMajor
        {
            get { return _leakMajor; }
            set { _leakMajor = value; InvokePropertyChanged(nameof(LeakMajor)); }
        }
        public double LeakMinor
        {
            get { return _leakMinor; }
            set { _leakMinor = value; InvokePropertyChanged(nameof(LeakMinor)); }
        }
        public bool IsFlowStartEnabled
        {
            get { return _isFlowStartEnable; }
            set { _isFlowStartEnable = value; InvokePropertyChanged(nameof(IsFlowStartEnabled));}
        }
        public bool IsFlowStopEnabled
        {
            get { return _isFlowStopEnable; }
            set { _isFlowStopEnable = value; InvokePropertyChanged(nameof(IsFlowStopEnabled)); }
        }
        public List FlowValues
        {
            get { return _flowValues; }
            set { _flowValues = value; InvokePropertyChanged(nameof(FlowValues)); }
        }
        #endregion
    }
}