using FLY.OBJComponents.IService;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;

namespace FLY.DownBlowing.Common
{
    public class TempArea : INotifyPropertyChanged
    {
        public TempArea()
        {

        }
        public void Init(string number) 
        {
            Number = number;
            TemperaturesBinding();
        }
        /// <summary>
        /// 名称:M,A,B,C,D,E
        /// </summary>
        public string Number { get; set; }

        #region 辅助代码生成
        /// <summary>
        /// 温度显示1
        /// </summary>
        [Description("温度显示1")]
        public float TempPV1{ get; set; }

        /// <summary>
        /// 温度显示2
        /// </summary>
        [Description("温度显示2")]
        public float TempPV2{ get; set; }

        /// <summary>
        /// 温度显示3
        /// </summary>
        [Description("温度显示3")]
        public float TempPV3{ get; set; }

        /// <summary>
        /// 温度显示4
        /// </summary>
        [Description("温度显示4")]
        public float TempPV4{ get; set; }

        /// <summary>
        /// 温度显示5
        /// </summary>
        [Description("温度显示5")]
        public float TempPV5{ get; set; }

        /// <summary>
        /// 温度显示6
        /// </summary>
        [Description("温度显示6")]
        public float TempPV6{ get; set; }

        /// <summary>
        /// 温度1输入
        /// </summary>
        [Description("温度1输入")]
        public float TempSV1{ get; set; }

        /// <summary>
        /// 温度2输入
        /// </summary>
        [Description("温度2输入")]
        public float TempSV2{ get; set; }

        /// <summary>
        /// 温度3输入
        /// </summary>
        [Description("温度3输入")]
        public float TempSV3{ get; set; }

        /// <summary>
        /// 温度4输入
        /// </summary>
        [Description("温度4输入")]
        public float TempSV4{ get; set; }

        /// <summary>
        /// 温度5输入
        /// </summary>
        [Description("温度5输入")]
        public float TempSV5{ get; set; }

        /// <summary>
        /// 温度6输入
        /// </summary>
        [Description("温度6输入")]
        public float TempSV6{ get; set; }

        /// <summary>
        /// 通道选择1
        /// </summary>
        [Description("通道选择1")]
        public float Channel1{ get; set; }

        /// <summary>
        /// 通道选择2
        /// </summary>
        [Description("通道选择2")]
        public float Channel2{ get; set; }

        /// <summary>
        /// 通道选择3
        /// </summary>
        [Description("通道选择3")]
        public float Channel3{ get; set; }

        /// <summary>
        /// 通道选择4
        /// </summary>
        [Description("通道选择4")]
        public float Channel4{ get; set; }

        /// <summary>
        /// 通道选择5
        /// </summary>
        [Description("通道选择5")]
        public float Channel5{ get; set; }

        /// <summary>
        /// 通道选择6
        /// </summary>
        [Description("通道选择6")]
        public float Channel6{ get; set; }

        /// <summary>
        /// 比例输入1
        /// </summary>
        [Description("比例输入1")]
        public float PSet1{ get; set; }

        /// <summary>
        /// 比例输入2
        /// </summary>
        [Description("比例输入2")]
        public float PSet2{ get; set; }

        /// <summary>
        /// 比例输入3
        /// </summary>
        [Description("比例输入3")]
        public float PSet3{ get; set; }

        /// <summary>
        /// 比例输入4
        /// </summary>
        [Description("比例输入4")]
        public float PSet4{ get; set; }

        /// <summary>
        /// 比例输入5
        /// </summary>
        [Description("比例输入5")]
        public float PSet5{ get; set; }

        /// <summary>
        /// 比例输入6
        /// </summary>
        [Description("比例输入6")]
        public float PSet6{ get; set; }

        /// <summary>
        /// 比例修改通知1
        /// </summary>
        [Description("比例修改通知1")]
        public bool IsPChanged1{ get; set; }

        /// <summary>
        /// 比例修改通知2
        /// </summary>
        [Description("比例修改通知2")]
        public bool IsPChanged2{ get; set; }

        /// <summary>
        /// 比例修改通知3
        /// </summary>
        [Description("比例修改通知3")]
        public bool IsPChanged3{ get; set; }

        /// <summary>
        /// 比例修改通知4
        /// </summary>
        [Description("比例修改通知4")]
        public bool IsPChanged4{ get; set; }

        /// <summary>
        /// 比例修改通知5
        /// </summary>
        [Description("比例修改通知5")]
        public bool IsPChanged5{ get; set; }

        /// <summary>
        /// 比例修改通知6
        /// </summary>
        [Description("比例修改通知6")]
        public bool IsPChanged6{ get; set; }

        /// <summary>
        /// 积分输入1
        /// </summary>
        [Description("积分输入1")]
        public float ISet1{ get; set; }

        /// <summary>
        /// 积分输入2
        /// </summary>
        [Description("积分输入2")]
        public float ISet2{ get; set; }

        /// <summary>
        /// 积分输入3
        /// </summary>
        [Description("积分输入3")]
        public float ISet3{ get; set; }

        /// <summary>
        /// 积分输入4
        /// </summary>
        [Description("积分输入4")]
        public float ISet4{ get; set; }

        /// <summary>
        /// 积分输入5
        /// </summary>
        [Description("积分输入5")]
        public float ISet5{ get; set; }

        /// <summary>
        /// 积分输入6
        /// </summary>
        [Description("积分输入6")]
        public float ISet6{ get; set; }

        /// <summary>
        /// 积分修改通知1
        /// </summary>
        [Description("积分修改通知1")]
        public bool IsIChanged1{ get; set; }

        /// <summary>
        /// 积分修改通知2
        /// </summary>
        [Description("积分修改通知2")]
        public bool IsIChanged2{ get; set; }

        /// <summary>
        /// 积分修改通知3
        /// </summary>
        [Description("积分修改通知3")]
        public bool IsIChanged3{ get; set; }

        /// <summary>
        /// 积分修改通知4
        /// </summary>
        [Description("积分修改通知4")]
        public bool IsIChanged4{ get; set; }

        /// <summary>
        /// 积分修改通知5
        /// </summary>
        [Description("积分修改通知5")]
        public bool IsIChanged5{ get; set; }

        /// <summary>
        /// 积分修改通知6
        /// </summary>
        [Description("积分修改通知6")]
        public bool IsIChanged6{ get; set; }

        /// <summary>
        /// 微分输入1
        /// </summary>
        [Description("微分输入1")]
        public float DSet1{ get; set; }

        /// <summary>
        /// 微分输入2
        /// </summary>
        [Description("微分输入2")]
        public float DSet2{ get; set; }

        /// <summary>
        /// 微分输入3
        /// </summary>
        [Description("微分输入3")]
        public float DSet3{ get; set; }

        /// <summary>
        /// 微分输入4
        /// </summary>
        [Description("微分输入4")]
        public float DSet4{ get; set; }

        /// <summary>
        /// 微分输入5
        /// </summary>
        [Description("微分输入5")]
        public float DSet5{ get; set; }

        /// <summary>
        /// 微分输入6
        /// </summary>
        [Description("微分输入6")]
        public float DSet6{ get; set; }

        /// <summary>
        /// 微分修改通知1
        /// </summary>
        [Description("微分修改通知1")]
        public bool IsDChanged1{ get; set; }

        /// <summary>
        /// 微分修改通知2
        /// </summary>
        [Description("微分修改通知2")]
        public bool IsDChanged2{ get; set; }

        /// <summary>
        /// 微分修改通知3
        /// </summary>
        [Description("微分修改通知3")]
        public bool IsDChanged3{ get; set; }

        /// <summary>
        /// 微分修改通知4
        /// </summary>
        [Description("微分修改通知4")]
        public bool IsDChanged4{ get; set; }

        /// <summary>
        /// 微分修改通知5
        /// </summary>
        [Description("微分修改通知5")]
        public bool IsDChanged5{ get; set; }

        /// <summary>
        /// 微分修改通知6
        /// </summary>
        [Description("微分修改通知6")]
        public bool IsDChanged6{ get; set; }

        /// <summary>
        /// 温度修正1
        /// </summary>
        [Description("温度修正1")]
        public float TempCorr1{ get; set; }

        /// <summary>
        /// 温度修正2
        /// </summary>
        [Description("温度修正2")]
        public float TempCorr2{ get; set; }

        /// <summary>
        /// 温度修正3
        /// </summary>
        [Description("温度修正3")]
        public float TempCorr3{ get; set; }

        /// <summary>
        /// 温度修正4
        /// </summary>
        [Description("温度修正4")]
        public float TempCorr4{ get; set; }

        /// <summary>
        /// 温度修正5
        /// </summary>
        [Description("温度修正5")]
        public float TempCorr5{ get; set; }

        /// <summary>
        /// 温度修正6
        /// </summary>
        [Description("温度修正6")]
        public float TempCorr6{ get; set; }

        /// <summary>
        /// 温度修正修改通知
        /// </summary>
        [Description("温度修正修改通知")]
        public bool IsTempCorrChanged{ get; set; }

        /// <summary>
        /// 冷却设定1
        /// </summary>
        [Description("冷却设定1")]
        public float CoolingSet1{ get; set; }

        /// <summary>
        /// 冷却设定2
        /// </summary>
        [Description("冷却设定2")]
        public float CoolingSet2{ get; set; }

        /// <summary>
        /// 冷却设定3
        /// </summary>
        [Description("冷却设定3")]
        public float CoolingSet3{ get; set; }

        /// <summary>
        /// 冷却设定4
        /// </summary>
        [Description("冷却设定4")]
        public float CoolingSet4{ get; set; }

        /// <summary>
        /// 整定开关1
        /// </summary>
        [Description("整定开关1")]
        public bool IsSelfAdjustingSet1{ get; set; }

        /// <summary>
        /// 整定开关2
        /// </summary>
        [Description("整定开关2")]
        public bool IsSelfAdjustingSet2{ get; set; }

        /// <summary>
        /// 整定开关3
        /// </summary>
        [Description("整定开关3")]
        public bool IsSelfAdjustingSet3{ get; set; }

        /// <summary>
        /// 整定开关4
        /// </summary>
        [Description("整定开关4")]
        public bool IsSelfAdjustingSet4{ get; set; }

        /// <summary>
        /// 整定开关5
        /// </summary>
        [Description("整定开关5")]
        public bool IsSelfAdjustingSet5{ get; set; }

        /// <summary>
        /// 整定开关6
        /// </summary>
        [Description("整定开关6")]
        public bool IsSelfAdjustingSet6{ get; set; }

        /// <summary>
        /// 整定显示1
        /// </summary>
        [Description("整定显示1")]
        public float IsSelfAdjusting1{ get; set; }

        /// <summary>
        /// 整定显示2
        /// </summary>
        [Description("整定显示2")]
        public float IsSelfAdjusting2{ get; set; }

        /// <summary>
        /// 整定显示3
        /// </summary>
        [Description("整定显示3")]
        public float IsSelfAdjusting3{ get; set; }

        /// <summary>
        /// 整定显示4
        /// </summary>
        [Description("整定显示4")]
        public float IsSelfAdjusting4{ get; set; }

        /// <summary>
        /// 整定显示5
        /// </summary>
        [Description("整定显示5")]
        public float IsSelfAdjusting5{ get; set; }

        /// <summary>
        /// 整定显示6
        /// </summary>
        [Description("整定显示6")]
        public float IsSelfAdjusting6{ get; set; }

        /// <summary>
        /// 比例显示1
        /// </summary>
        [Description("比例显示1")]
        public float P1{ get; set; }

        /// <summary>
        /// 比例显示2
        /// </summary>
        [Description("比例显示2")]
        public float P2{ get; set; }

        /// <summary>
        /// 比例显示3
        /// </summary>
        [Description("比例显示3")]
        public float P3{ get; set; }

        /// <summary>
        /// 比例显示4
        /// </summary>
        [Description("比例显示4")]
        public float P4{ get; set; }

        /// <summary>
        /// 比例显示5
        /// </summary>
        [Description("比例显示5")]
        public float P5{ get; set; }

        /// <summary>
        /// 比例显示6
        /// </summary>
        [Description("比例显示6")]
        public float P6{ get; set; }

        /// <summary>
        /// 积分显示1
        /// </summary>
        [Description("积分显示1")]
        public float I1{ get; set; }

        /// <summary>
        /// 积分显示2
        /// </summary>
        [Description("积分显示2")]
        public float I2{ get; set; }

        /// <summary>
        /// 积分显示3
        /// </summary>
        [Description("积分显示3")]
        public float I3{ get; set; }

        /// <summary>
        /// 积分显示4
        /// </summary>
        [Description("积分显示4")]
        public float I4{ get; set; }

        /// <summary>
        /// 积分显示5
        /// </summary>
        [Description("积分显示5")]
        public float I5{ get; set; }

        /// <summary>
        /// 积分显示6
        /// </summary>
        [Description("积分显示6")]
        public float I6{ get; set; }

        /// <summary>
        /// 微分显示1
        /// </summary>
        [Description("微分显示1")]
        public float D1{ get; set; }

        /// <summary>
        /// 微分显示2
        /// </summary>
        [Description("微分显示2")]
        public float D2{ get; set; }

        /// <summary>
        /// 微分显示3
        /// </summary>
        [Description("微分显示3")]
        public float D3{ get; set; }

        /// <summary>
        /// 微分显示4
        /// </summary>
        [Description("微分显示4")]
        public float D4{ get; set; }

        /// <summary>
        /// 微分显示5
        /// </summary>
        [Description("微分显示5")]
        public float D5{ get; set; }

        /// <summary>
        /// 微分显示6
        /// </summary>
        [Description("微分显示6")]
        public float D6{ get; set; }

        /// <summary>
        /// 温度输入设置1
        /// </summary>
        [Description("温度输入设置1")]
        public float TempSVSet1{ get; set; }

        /// <summary>
        /// 温度输入设置2
        /// </summary>
        [Description("温度输入设置2")]
        public float TempSVSet2{ get; set; }

        /// <summary>
        /// 温度输入设置3
        /// </summary>
        [Description("温度输入设置3")]
        public float TempSVSet3{ get; set; }

        /// <summary>
        /// 温度输入设置4
        /// </summary>
        [Description("温度输入设置4")]
        public float TempSVSet4{ get; set; }

        /// <summary>
        /// 温度输入设置5
        /// </summary>
        [Description("温度输入设置5")]
        public float TempSVSet5{ get; set; }

        /// <summary>
        /// 温度输入设置6
        /// </summary>
        [Description("温度输入设置6")]
        public float TempSVSet6{ get; set; }

        /// <summary>
        /// 温度输入被修改1
        /// </summary>
        [Description("温度输入被修改1")]
        public bool IsTempSetChanged1{ get; set; }

        /// <summary>
        /// 温度输入被修改2
        /// </summary>
        [Description("温度输入被修改2")]
        public bool IsTempSetChanged2{ get; set; }

        /// <summary>
        /// 温度输入被修改3
        /// </summary>
        [Description("温度输入被修改3")]
        public bool IsTempSetChanged3{ get; set; }

        /// <summary>
        /// 温度输入被修改4
        /// </summary>
        [Description("温度输入被修改4")]
        public bool IsTempSetChanged4{ get; set; }

        /// <summary>
        /// 温度输入被修改5
        /// </summary>
        [Description("温度输入被修改5")]
        public bool IsTempSetChanged5{ get; set; }

        /// <summary>
        /// 温度输入被修改6
        /// </summary>
        [Description("温度输入被修改6")]
        public bool IsTempSetChanged6{ get; set; }

        /// <summary>
        /// 冷却指示1
        /// </summary>
        [Description("冷却指示1")]
        public float IsCooling1{ get; set; }

        /// <summary>
        /// 冷却指示2
        /// </summary>
        [Description("冷却指示2")]
        public float IsCooling2{ get; set; }

        /// <summary>
        /// 冷却指示3
        /// </summary>
        [Description("冷却指示3")]
        public float IsCooling3{ get; set; }

        /// <summary>
        /// 冷却指示4
        /// </summary>
        [Description("冷却指示4")]
        public float IsCooling4{ get; set; }

        /// <summary>
        /// 加热指示1
        /// </summary>
        [Description("加热指示1")]
        public float IsHeating1{ get; set; }

        /// <summary>
        /// 加热指示2
        /// </summary>
        [Description("加热指示2")]
        public float IsHeating2{ get; set; }

        /// <summary>
        /// 加热指示3
        /// </summary>
        [Description("加热指示3")]
        public float IsHeating3{ get; set; }

        /// <summary>
        /// 加热指示4
        /// </summary>
        [Description("加热指示4")]
        public float IsHeating4{ get; set; }

        /// <summary>
        /// 加热指示5
        /// </summary>
        [Description("加热指示5")]
        public float IsHeating5{ get; set; }

        /// <summary>
        /// 加热指示6
        /// </summary>
        [Description("加热指示6")]
        public float IsHeating6{ get; set; }

        /// <summary>
        /// 加热开关1
        /// </summary>
        [Description("加热开关1")]
        public bool IsHeatingSet1{ get; set; }

        /// <summary>
        /// 加热开关2
        /// </summary>
        [Description("加热开关2")]
        public bool IsHeatingSet2{ get; set; }

        /// <summary>
        /// 加热开关3
        /// </summary>
        [Description("加热开关3")]
        public bool IsHeatingSet3{ get; set; }

        /// <summary>
        /// 加热开关4
        /// </summary>
        [Description("加热开关4")]
        public bool IsHeatingSet4{ get; set; }

        /// <summary>
        /// 加热开关5
        /// </summary>
        [Description("加热开关5")]
        public bool IsHeatingSet5{ get; set; }

        /// <summary>
        /// 加热开关6
        /// </summary>
        [Description("加热开关6")]
        public bool IsHeatingSet6{ get; set; }

        /// <summary>
        /// 全温度输入
        /// </summary>
        [Description("全温度输入")]
        public float AllTempSet{ get; set; }

        /// <summary>
        /// 全温度输入被修改
        /// </summary>
        [Description("全温度输入被修改")]
        public bool IsAllTempSetChanged{ get; set; }

        /// <summary>
        /// 全温度开关
        /// </summary>
        [Description("全温度开关")]
        public bool IsAllTempSame{ get; set; }

        /// <summary>
        /// 熔温
        /// </summary>
        [Description("熔温")]
        public float MeltingTemp{ get; set; }

        #endregion

        [Newtonsoft.Json.JsonIgnore]
        public ObservableCollection<TempCell> Temperatures { get; } = new ObservableCollection<TempCell>();

        /// <summary>
        /// 料仓,混料参数 绑定到 对应的队列
        /// </summary>
        void TemperaturesBinding()
        {
            Temperatures.Clear();

            for (int i = 0; i < 6; i++)
            {
                int no = i + 1;
                TempCell temperature = new TempCell();
                temperature.Number = no.ToString();

                Misc.BindingOperations.SetBinding(this, $"TempPV{no}", temperature, nameof(temperature.TempPV));
                Misc.BindingOperations.SetBinding(this, $"Channel{no}", temperature, nameof(temperature.Channel), Misc.BindingOperations.BindingMode.TwoWay);
                Misc.BindingOperations.SetBinding(this, $"PSet{no}", temperature, nameof(temperature.PSet), Misc.BindingOperations.BindingMode.TwoWay);
                Misc.BindingOperations.SetBinding(this, $"IsPChanged{no}", temperature, nameof(temperature.IsPChanged), Misc.BindingOperations.BindingMode.TwoWay);
                Misc.BindingOperations.SetBinding(this, $"ISet{no}", temperature, nameof(temperature.ISet), Misc.BindingOperations.BindingMode.TwoWay);
                Misc.BindingOperations.SetBinding(this, $"IsIChanged{no}", temperature, nameof(temperature.IsIChanged), Misc.BindingOperations.BindingMode.TwoWay);
                Misc.BindingOperations.SetBinding(this, $"DSet{no}", temperature, nameof(temperature.DSet), Misc.BindingOperations.BindingMode.TwoWay);
                Misc.BindingOperations.SetBinding(this, $"IsDChanged{no}", temperature, nameof(temperature.IsDChanged), Misc.BindingOperations.BindingMode.TwoWay);
                Misc.BindingOperations.SetBinding(this, $"TempCorr{no}", temperature, nameof(temperature.TempCorr), Misc.BindingOperations.BindingMode.TwoWay);
                Misc.BindingOperations.SetBinding(this, $"CoolingSet{no}", temperature, nameof(temperature.CoolingSet), Misc.BindingOperations.BindingMode.TwoWay);
                Misc.BindingOperations.SetBinding(this, $"IsSelfAdjustingSet{no}", temperature, nameof(temperature.IsSelfAdjustingSet), Misc.BindingOperations.BindingMode.TwoWay);

                Misc.BindingOperations.SetBinding(this, $"IsSelfAdjusting{no}", temperature, nameof(temperature.IsSelfAdjusting_float));

                Misc.BindingOperations.SetBinding(this, $"P{no}", temperature, nameof(temperature.P));
                Misc.BindingOperations.SetBinding(this, $"I{no}", temperature, nameof(temperature.I));
                Misc.BindingOperations.SetBinding(this, $"D{no}", temperature, nameof(temperature.D));
                Misc.BindingOperations.SetBinding(this, $"TempSV{no}", temperature, nameof(temperature.TempSV), Misc.BindingOperations.BindingMode.TwoWay);
                Misc.BindingOperations.SetBinding(this, $"IsCooling{no}", temperature, nameof(temperature.IsCooling_float));
                Misc.BindingOperations.SetBinding(this, $"IsHeating{no}", temperature, nameof(temperature.IsHeating_float));
                Misc.BindingOperations.SetBinding(this, $"IsHeatingSet{no}", temperature, nameof(temperature.IsHeatingSet), Misc.BindingOperations.BindingMode.TwoWay);
                Misc.BindingOperations.SetBinding(this, $"IsTempSetChanged{no}", temperature, nameof(temperature.IsTempSetChanged), Misc.BindingOperations.BindingMode.TwoWay);

                Temperatures.Add(temperature);
            }


        }
        public event PropertyChangedEventHandler PropertyChanged;
    }

    public class TempCell : INotifyPropertyChanged
    {
        /// <summary>
        /// 序号
        /// </summary>
        public string Number { get; set; }
        /// <summary>
        /// 温度显示
        /// </summary>
        [Description("温度显示")]
        public float TempPV { get; set; }

        /// <summary>
        /// 通道选择
        /// </summary>
        [Description("通道选择")]
        public float Channel { get; set; }



        /// <summary>
        /// 比例输入
        /// </summary>
        [Description("比例输入")]
        public float PSet { get; set; }


        /// <summary>
        /// 比例修改通知
        /// </summary>
        [Description("比例修改通知")]
        public bool IsPChanged { get; set; }

        /// <summary>
        /// 积分输入
        /// </summary>
        [Description("积分输入")]
        public float ISet { get; set; }


        /// <summary>
        /// 积分修改通知
        /// </summary>
        [Description("积分修改通知")]
        public bool IsIChanged { get; set; }


        /// <summary>
        /// 微分输入
        /// </summary>
        [Description("微分输入")]
        public float DSet { get; set; }


        /// <summary>
        /// 微分修改通知
        /// </summary>
        [Description("微分修改通知")]
        public bool IsDChanged { get; set; }


        /// <summary>
        /// 温度修正
        /// </summary>
        [Description("温度修正")]
        public float TempCorr { get; set; }


        /// <summary>
        /// 冷却设定
        /// </summary>
        [Description("冷却设定")]
        public float CoolingSet { get; set; }


        /// <summary>
        /// 整定开关
        /// </summary>
        [Description("整定开关")]
        public bool IsSelfAdjustingSet { get; set; }


        /// <summary>
        /// 整定显示
        /// </summary>
        [Description("整定显示")]
        public bool IsSelfAdjusting => IsSelfAdjusting_float == 1;

        public float IsSelfAdjusting_float { get; set; }

        /// <summary>
        /// 比例显示
        /// </summary>
        [Description("比例显示")]
        public float P { get; set; }


        /// <summary>
        /// 积分显示
        /// </summary>
        [Description("积分显示")]
        public float I { get; set; }


        /// <summary>
        /// 微分显示
        /// </summary>
        [Description("微分显示")]
        public float D { get; set; }

        /// <summary>
        /// 温度输入
        /// </summary>
        [Description("温度输入")]
        public float TempSV { get; set; }

        /// <summary>
        /// 冷却指示
        /// </summary>
        [Description("冷却指示")]
        public bool IsCooling => IsCooling_float == 1;

        public float IsCooling_float { get; set; }
        /// <summary>
        /// 加热指示
        /// </summary>
        [Description("加热指示")]
        public bool IsHeating => IsHeating_float == 1;
        public float IsHeating_float { get; set; }

        /// <summary>
        /// 加热开关
        /// </summary>
        [Description("加热开关")]
        public bool IsHeatingSet { get; set; }



        /// <summary>
        /// 温度输入被修改通知
        /// </summary>
        [Description("温度输入被修改通知")]
        public bool IsTempSetChanged { get; set; }


        public event PropertyChangedEventHandler PropertyChanged;
    }
}