using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IMCS.DefaultList
{
    public enum EnumPlateNum
    {
        /// 
        /// 没有托盘,可能用到的地方在AGV接驳位
        /// 
        Plate_Zero,
        /// 
        /// 一个托盘,主要用于打标机,清洗机,机床等,或AGV接驳位
        /// 
        Plate_One,
        /// 
        /// 主要用于AGV接驳位
        /// 
        Plate_Two,
        /// 
        /// 主要用于机器人,
        /// 
        Plate_Third,
        /// 
        /// 扩展,没有使用的地方
        /// 
        Plate_Four
    }
    /// 
    /// 设备运行状态
    /// 
    public enum EnumDeviceRunState
    {
        /// 
        /// 默认
        /// 
        RunState_None,
        /// 
        /// 空闲
        /// 
        RunState_Wait,
        /// 
        /// 运行中
        /// 
        RunState_Run,
        /// 
        /// 故障
        /// 
        RunState_Err
    }
    public class DeviceStateDefaultList : Notify
    {
        private void NotiP(ref object ob, object ob1, string value)
        {
            if (ob != ob1)
            {
                ob = ob1;
                NotifyProper(value);
            }
        }
        private EnumPlateNum _Device_Plate = EnumPlateNum.Plate_Four;
        /// 
        /// 托盘数量,
        /// 
        public EnumPlateNum Device_Pan
        {
            get { return _Device_Plate; }
            set
            {
                if (_Device_Plate != value)
                {
                    _Device_Plate = value;
                    NotifyProper("Device_Pan");
                }
            }
        }
        private bool _Device_OnLine = false;
        /// 
        /// 是否在线
        /// 
        public bool Device_OnLine
        {
            get { return _Device_OnLine; }
            set
            {
                if (_Device_OnLine != value)
                {
                    _Device_OnLine = value;
                    NotifyProper("Device_OnLine");
                }
            }
        }
        private bool _Device_ConnectionMes = false;
        /// 
        /// 系统监管,是否连接到MES
        /// 
        public bool Device_ConnectionMes
        {
            get { return _Device_ConnectionMes; }
            set
            {
                if (_Device_ConnectionMes != value)
                {
                    _Device_ConnectionMes = value;
                    NotifyProper("Device_ConnectionMes");
                }
            }
        }
        private EnumDeviceRunState _Device_Runing = EnumDeviceRunState.RunState_None;
        /// 
        /// 是否在运行,值包含运行中,空闲
        /// 
        public EnumDeviceRunState Device_Runing
        {
            get { return _Device_Runing; }
            set
            {
                if (_Device_Runing != value)
                {
                    _Device_Runing = value;
                    NotifyProper("Device_Runing");
                }
            }
        }
        private string _Device_Name = "";
        /// 
        /// 设备名称,AGV接驳位,打标机,清洗机,六轴机器人等内容
        /// 
        public string Device_Name
        {
            get { return _Device_Name; }
            set
            {
                if (_Device_Name != value)
                {
                    _Device_Name = value;
                    NotifyProper("Device_Name");
                }
            }
        }
    }
}