using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Reflection;
using System.Runtime.Serialization;
using System.Text;
using System.Windows.Input;
using Aitex.Core.RT.Device;
using Aitex.Core.UI.MVVM;
using MECF.Framework.Common.CommonData;
using MECF.Framework.Common.Device.Bases;
namespace Aitex.Core.Common.DeviceData
{
    public enum LidState
    {
        Close = 0,
        Open = 1,
        Unknown = 2,
        Error = 3,
    }
    [DataContract]
    [Serializable]
    public class AITLidData : NotifiableItem, IDeviceData
    {
        /// 
        /// 阀的唯一名称,UI与RT交互的ID
        /// 
        [DataMember]
        public string DeviceName { get; set; }
        /// 
        /// 显示在界面上的名称
        /// 
        [DataMember]
        public string DisplayName { get; set; }
        /// 
        /// IO 表中定义的物理编号,物理追溯使用 比如: V122
        /// 
        [DataMember]
        public string DeviceSchematicId { get; set; }
        /// 
        /// 当前设定值
        /// 
        [DataMember]
        public int SetPoint { get; set; }
 
        /// 
        /// 实际反馈值
        /// 
        [DataMember]
        public int Status { get; set; }
        public bool IsOpen 
        {
            get { return Status == (int)LidState.Open;  }
        }
        public bool IsClose
        {
            get
            {
                return Status == (int)LidState.Close;
            }
        }
        public AITLidData()
        {
            DisplayName = "Undefined Lid";
        }
        public void Update(IDeviceData data)
        {
 
        }
    }
    public class AITLidOperation
    {
        public const string OpenLid = "OpenLid";
        public const string CloseLid = "CloseLid";
    }
}