From 7f233a10afa6882b4d9531185af60e8843bc1af2 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期一, 11 五月 2020 09:21:36 +0800
Subject: [PATCH] 20200511

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

diff --git a/HDL_ON/Entity/Function/FloorHeating.cs b/HDL_ON/Entity/Function/FloorHeating.cs
index cf57095..f5bb84e 100644
--- a/HDL_ON/Entity/Function/FloorHeating.cs
+++ b/HDL_ON/Entity/Function/FloorHeating.cs
@@ -1,11 +1,346 @@
 锘縰sing System;
+using System.Collections.Generic;
+
 namespace HDL_ON.Entity
 {
     public class FloorHeating : Function
     {
+        /*
+        *鍦扮儹锛歵rait: [switch, mode, temperature, lock]
+        *灞炴�� 鎻忚堪
+        *switch	on/off
+        *mode    day, night,away, vacation, timer
+        *temperature up,down,value
+        *lock	boolean(Lock閿佸畾鎺у埗)
+        */
         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 curTempTypeString
+        {
+            get
+            {
+                if (curTempType == 0)
+                {
+                    return "掳C";
+                }
+                else
+                {
+                    return "掳F";
+                }
+            }
+        }
+        /// <summary>
+        /// 褰撳墠妯″紡
+        /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
+        public string curMode = "day";
+        /// <summary>
+        /// 宸ヤ綔妯″紡瀵瑰簲鐨勫伐浣滄俯搴�
+        /// </summary>
+        public Dictionary<string, byte> modeTemp = new Dictionary<string, byte>();
+
+        /// <summary>
+        /// 褰撳墠妯″紡绱㈠紩
+        /// bus鎺у埗鍛戒护浣跨敤
+        /// </summary>
+        public byte curModeIndex
+        {
+            get
+            {
+                try
+                {
+                    byte index = 0;
+                    switch (curMode)
+                    {
+                        case "day":
+                            index = 2;
+                            break;
+                        case "night":
+                            index = 3;
+                            break;
+                        case "away":
+                            index = 4;
+                            break;
+                        case "ordinary":
+                            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:
+                        curMode = "timer";
+                        break;
+                    case 1:
+                        curMode = "ordinary";
+                        break;
+                    case 2:
+                        curMode = "day";
+                        break;
+                    case 3:
+                        curMode = "night";
+                        break;
+                    case 4:
+                        curMode = "away";
+                        break;
+                    default:
+                        curMode = "cool";
+                        break;
+
+                }
+            }
+        }
+
+        [Newtonsoft.Json.JsonIgnore]
+        public Trait trait_mode;
+        /// <summary>
+        /// 妯″紡鍒楄〃
+        /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
+        public List<string> modeList
+        {
+            get
+            {
+                try
+                {
+                    if (trait_mode == null)
+                    {
+                        trait_mode = propertList.Find((obj) => obj.attri == "mode");
+                        //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
+                        if (trait_mode == null)
+                        {
+                            trait_mode = new Trait()
+                            {
+                                attri = "mode",
+                                value = new List<string> { "day", "night", "away", "timer", "ordinary" },
+                                max = 4,
+                                min = 0,
+                            };
+                        }
+                        trait_mode.curValues = trait_mode.value[trait_mode.min];
+                    }
+                    return trait_mode.value;
+                }
+                catch (Exception ex)
+                {
+                    MainPage.Log($"ac get mode error : {ex.Message}");
+                    return new List<string> { "day", "night", "away", "timer", "ordinary" };
+                }
+            }
+        }
+
+        /// <summary>
+        /// 鏃堕棿鏍囪
+        /// 0:鐧藉ぉ锛�1:澶滄櫄
+        /// </summary>
+        public byte timeFlag = 0;
+
+        /// <summary>
+        /// 瀹ゅ唴娓╁害
+        /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
+        public int indoorTemp = 20;
+        /// <summary>
+        /// 褰撳墠娓╁害
+        /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
+        public int curTemp
+        {
+            get
+            {
+                switch (curMode)
+                {
+                    case "day":
+                        if (!modeTemp.ContainsKey("day"))
+                        {
+                            modeTemp.Add("day", 20);
+                        }
+                        return modeTemp["day"];
+                    case "night":
+                        if (!modeTemp.ContainsKey("night"))
+                        {
+                            modeTemp.Add("night", 20);
+                        }
+                        return modeTemp["night"];
+                    case "away":
+                        if (!modeTemp.ContainsKey("away"))
+                        {
+                            modeTemp.Add("away", 20);
+                        }
+                        return modeTemp["away"];
+                    case "ordinary":
+                        if (!modeTemp.ContainsKey("ordinary"))
+                        {
+                            modeTemp.Add("ordinary", 20);
+                        }
+                        return modeTemp["ordinary"];
+                    case "timer":
+                        if (timeFlag == 0)
+                        {
+                            if (!modeTemp.ContainsKey("day"))
+                            {
+                                modeTemp.Add("day", 20);
+                            }
+                            return modeTemp["day"];
+                        }
+                        else
+                        {
+                            if (!modeTemp.ContainsKey("night"))
+                            {
+                                modeTemp.Add("night", 20);
+                            }
+                            return modeTemp["night"];
+                        }
+                }
+                return 20;
+            }
+            set
+            {
+                switch (curMode)
+                {
+                    case "day":
+                        if (!modeTemp.ContainsKey("day"))
+                        {
+                            modeTemp.Add("day", (byte)value);
+                        }
+                        else
+                        {
+                            modeTemp["day"] = (byte)value;
+                        }
+                        return;
+                    case "night":
+                        if (!modeTemp.ContainsKey("night"))
+                        {
+                            modeTemp.Add("night", (byte)value);
+                        }
+                        else
+                        {
+                            modeTemp["night"] = (byte)value;
+                        }
+                        break;
+                    case "away":
+                        if (!modeTemp.ContainsKey("away"))
+                        {
+                            modeTemp.Add("away", (byte)value);
+                        }
+                        else
+                        {
+                            modeTemp["away"] = (byte)value;
+                        }
+                        break;
+                    case "ordinary":
+                        if (!modeTemp.ContainsKey("ordinary"))
+                        {
+                            modeTemp.Add("ordinary", (byte)value);
+                        }
+                        else
+                        {
+                            modeTemp["ordinary"] = (byte)value;
+                        }
+                        break;
+                    case "timer":
+                        if (timeFlag == 0)
+                        {
+                            if (!modeTemp.ContainsKey("day"))
+                            {
+                                modeTemp.Add("day", (byte)value);
+                            }
+                            else
+                            {
+                                modeTemp["day"] = (byte)value;
+                            }
+                        }
+                        else
+                        {
+                            if (!modeTemp.ContainsKey("night"))
+                            {
+                                modeTemp.Add("night", (byte)value);
+                            }
+                            else
+                            {
+                                modeTemp["night"] = (byte)value;
+                            }
+                        }
+                        break;
+                }
+            }
+        }
+            
+
+        /// <summary>
+        /// 褰撳墠妯″紡鐨刬con璺緞
+        /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
+        public string curModeImage
+        {
+            get
+            {
+                try
+                {
+                    var imagePath = "FunctionIcon/AC/HeatingIcon.png";
+                    switch (curMode)
+                    {
+                        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 "ordinary":
+                            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