From df8d4ab0ef17a7fab5dea9c47bbd9f4d4a2a40b0 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 15 三月 2021 14:55:49 +0800
Subject: [PATCH] 合并前上传一个版本

---
 HDL_ON/Entity/Function/FloorHeating.cs |  268 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 268 insertions(+), 0 deletions(-)

diff --git a/HDL_ON/Entity/Function/FloorHeating.cs b/HDL_ON/Entity/Function/FloorHeating.cs
index cf57095..aefe030 100644
--- a/HDL_ON/Entity/Function/FloorHeating.cs
+++ b/HDL_ON/Entity/Function/FloorHeating.cs
@@ -1,11 +1,279 @@
 锘縰sing System;
+using System.Collections.Generic;
+
 namespace HDL_ON.Entity
 {
     public class FloorHeating : Function
     {
+        /*
+        *鍦扮儹锛歵rait: [switch, mode, set_temp, lock]
+        *灞炴�� 鎻忚堪
+        *switch	on/off
+        *mode    day, night,away, vacation, timer
+        *set_temp value
+        *lock	boolean(Lock閿佸畾鎺у埗)
+        *set_ point	up,down,value
+        */
         public FloorHeating()
         {
         }
+        /// <summary>
+        /// 褰撳墠娓╁害妯″紡
+        /// 0:鎽勬皬搴�
+        /// 1:鍗庢皬搴�
+        /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
+        public int curTempType = 0;
+
+        /// <summary>
+        /// 宸ヤ綔妯″紡
+        /// 0:鍦扮儹妯″紡锛�1:鍦板喎妯″紡锛�
+        /// 2:鍦扮儹鍔熺巼妯″紡锛�3:鍦板喎鍔熺巼妯″紡锛�
+        /// </summary>
+        public int workMode = 0;
+        /// <summary>
+        /// 褰撳墠娓╁害妯″紡瀛楃
+        /// </summary>
+        public string tempUnitString
+        {
+            get
+            {
+                if (curTempType == 0)
+                {
+                    return "掳C";
+                }
+                else
+                {
+                    return "掳F";
+                }
+            }
+        }
+        FunctionAttributes _trait_mode;
+        /// <summary>
+        /// 妯″紡灞炴��
+        /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
+        public FunctionAttributes trait_mode
+        {
+            get
+            {
+                if (_trait_mode == null)
+                {
+                    _trait_mode = attributes.Find((obj) => obj.key == "mode");
+                    //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
+                    if (_trait_mode == null)
+                    {
+                        _trait_mode = new FunctionAttributes()
+                        {
+                            key = "mode",
+                            value = new List<string> { "day", "night", "away", "normal", "timer" },
+                            max = 4,
+                            min = 0,
+                        };
+                    }
+                    if(_trait_mode.curValue.ToString() == "{}")
+                    {
+                        _trait_mode.curValue = "day";
+                    }
+                }
+                return _trait_mode;
+            }
+        }
+
+        /// <summary>
+        /// 宸ヤ綔妯″紡瀵瑰簲鐨勫伐浣滄俯搴�
+        /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
+        public Dictionary<string, byte> modeTemp = new Dictionary<string, byte>();
+
+        /// <summary>
+        /// 褰撳墠妯″紡绱㈠紩
+        /// bus鎺у埗鍛戒护浣跨敤
+        /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
+        public byte curModeIndex
+        {
+            get
+            {
+                try
+                {
+                    byte index = 0;
+                    switch (trait_mode.curValue.ToString())
+                    {
+                        case "day":
+                            index = 2;
+                            break;
+                        case "night":
+                            index = 3;
+                            break;
+                        case "away":
+                            index = 4;
+                            break;
+                        case "normal":
+                            index = 1;
+                            break;
+                        case "timer":
+                            index = 5;
+                            break;
+                        default:
+                            index = 0;
+                            break;
+                    }
+                    return index;
+                }
+                catch (Exception ex)
+                {
+                    MainPage.Log($"get curModeIndex error : {ex.Message}");
+                    return 0;
+                }
+            }
+            set
+            {
+                switch (value)
+                {
+                    case 5:
+                        trait_mode.curValue = "timer";
+                        break;
+                    case 1:
+                        trait_mode.curValue = "normal";
+                        break;
+                    case 2:
+                        trait_mode.curValue = "day";
+                        break;
+                    case 3:
+                        trait_mode.curValue = "night";
+                        break;
+                    case 4:
+                        trait_mode.curValue = "away";
+                        break;
+                    default:
+                        trait_mode.curValue = "cool";
+                        break;
+
+                }
+            }
+        }
+
+        /// <summary>
+        /// 鏃堕棿鏍囪
+        /// 0:鐧藉ぉ锛�1:澶滄櫄
+        /// </summary>
+        public byte timeFlag = 0;
+
+        FunctionAttributes _trait_IndoorTemp;
+        /// <summary>
+        /// 瀹ゅ唴娓╁害
+        /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
+        public FunctionAttributes trait_IndoorTemp
+        {
+            get
+            {
+                if (_trait_IndoorTemp == null)
+                {
+                    _trait_IndoorTemp = attributes.Find((obj) => obj.key == FunctionAttributeKey.IndoorTemp);
+                    //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
+                    if (_trait_IndoorTemp == null)
+                    {
+                        _trait_IndoorTemp = new FunctionAttributes()
+                        {
+                            key = FunctionAttributeKey.IndoorTemp,
+                            value = new List<string> { },
+                            max = 30,
+                            min = 0,
+                        };
+                     
+                    }
+                }
+                if (_trait_IndoorTemp.curValue.ToString() == "{}")
+                {
+                    _trait_IndoorTemp.curValue = "0";
+                }
+                    var vv = Convert.ToDouble(_trait_IndoorTemp.curValue);
+                    _trait_IndoorTemp.curValue = Convert.ToInt32(vv).ToString();
+                return _trait_IndoorTemp;
+            }
+        }
+
+
+        FunctionAttributes _trait_temp;
+        /// <summary>
+        /// 褰撳墠娓╁害
+        /// </summary>/// <summary>
+        /// 褰撳墠绌鸿皟娓╁害
+        /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
+        public FunctionAttributes trait_temp
+        {
+            get
+            {
+                if (_trait_temp == null)
+                {
+                    _trait_temp = attributes.Find((obj) => obj.key == "set_temp");
+                    //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
+                    if (_trait_temp == null)
+                    {
+                        _trait_temp = new FunctionAttributes()
+                        {
+                            key = "set_temp",
+                            value = new List<string> { },
+                            max = 30,
+                            min = 5,
+                        };
+                    }
+                    if(_trait_temp.curValue.ToString() == "{}")
+                        _trait_temp.curValue = "16";
+                }
+                //if (_trait_temp.curValue.ToString().Length > 3)
+                {
+                    double vv = 0;
+                    Double.TryParse(_trait_temp.curValue.ToString(),out vv);
+                    _trait_temp.curValue = Convert.ToInt32(vv).ToString();
+                }
+                return _trait_temp;
+            }
+        }
+        /// <summary>
+        /// 褰撳墠妯″紡鐨刬con璺緞
+        /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
+        public string curModeImage
+        {
+            get
+            {
+                try
+                {
+                    var imagePath = "FunctionIcon/AC/HeatingIcon.png";
+                    switch (trait_mode.curValue)
+                    {
+                        case "day":
+                            imagePath = "FunctionIcon/AC/HeatingIcon.png";
+                            break;
+                        case "night":
+                            imagePath = "FunctionIcon/FloorHeating/NightIcon.png";
+                            break;
+                        case "away":
+                            imagePath = "FunctionIcon/FloorHeating/AwayIcon.png";
+                            break;
+                        case "timer":
+                            imagePath = "FunctionIcon/AC/AutoIcon.png";
+                            break;
+                        case "normal":
+                            imagePath = "FunctionIcon/FloorHeating/OrdinaryIcon.png";
+                            break;
+                        default:
+                            imagePath = "FunctionIcon/AC/HeatingIcon.png";
+                            break;
+                    }
+                    return imagePath;
+                }
+                catch (Exception ex)
+                {
+                    MainPage.Log($"ac ge curModeImage error : {ex.Message}");
+                    return "FunctionIcon/AC/CoolIcon.png";
+                }
+            }
+        }
 
     }
 }

--
Gitblit v1.8.0