From 37c315988c2dc11e4f477233f7a9f87d57bb61aa Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期一, 08 三月 2021 09:17:15 +0800
Subject: [PATCH] 数据结构优化修改

---
 HDL_ON/Entity/Function/AC.cs |  363 ++++++++++++++-------------------------------------
 1 files changed, 98 insertions(+), 265 deletions(-)

diff --git a/HDL_ON/Entity/Function/AC.cs b/HDL_ON/Entity/Function/AC.cs
index 9b76ee4..e05d976 100644
--- a/HDL_ON/Entity/Function/AC.cs
+++ b/HDL_ON/Entity/Function/AC.cs
@@ -4,30 +4,55 @@
 
 namespace HDL_ON.Entity
 {
-    public class AC : Function
+    public class AC 
     {
-        /// <summary>
-        /// 褰撳墠娓╁害妯″紡
-        /// 0:鎽勬皬搴�
-        /// 1:鍗庢皬搴�
-        /// </summary>
-        [Newtonsoft.Json.JsonIgnore]
-        public int curTempType = 0;
         /// <summary>
         /// 褰撳墠娓╁害妯″紡瀛楃
         /// </summary>
-        public string tempUnitString
+        public string GetTempUnitString(Function function)
         {
-            get
+            var tt = function.GetAttrState(FunctionAttributeKey.TempType);
+            if (tt == "0")
             {
-                if (curTempType == 0)
-                {
-                    return "掳C";
-                }
-                else
-                {
-                    return "掳F";
-                }
+                return "掳C";
+            }
+            else
+            {
+                return tt;
+            }
+        }
+
+        /// <summary>
+        /// 鑾峰彇娓╁害鍗曚綅bus鏍囪瘑
+        /// </summary>
+        /// <param name="function"></param>
+        /// <returns></returns>
+        public int GetTempUintIndex(Function function)
+        {
+            var tt = function.GetAttrState(FunctionAttributeKey.TempType);
+            if(tt == "掳F")
+            {
+                return 1;
+            }
+            else
+            {
+                return 0;
+            }
+        }
+        /// <summary>
+        /// 鏍规嵁bus鏍囪瘑璁剧疆娓╁害鍗曚綅
+        /// </summary>
+        /// <param name="function"></param>
+        /// <returns></returns>
+        public void SetTempUint(Function function,int index)
+        {
+            if (index == 0)
+            {
+                function.SetAttrState(FunctionAttributeKey.TempType, "掳C");
+            }
+            else
+            {
+                function.SetAttrState(FunctionAttributeKey.TempType, "掳F");
             }
         }
 
@@ -35,46 +60,38 @@
         /// 褰撳墠妯″紡绱㈠紩
         /// bus鎺у埗鍛戒护浣跨敤
         /// </summary>
-        public byte curModeIndex()
+        public byte GetModeIndex(Function function)
         {
-            try
+            var value = function.GetAttrState(FunctionAttributeKey.Mode);
+            byte index = 0;
+            switch (value)
             {
-                string value = GetAttrState(FunctionAttributeKey.Mode);
-                byte index = 0;
-                switch (value)
-                {
-                    case "auto":
-                        index = 3;
-                        break;
-                    case "cool":
-                        index = 0;
-                        break;
-                    case "heat":
-                        index = 1;
-                        break;
-                    case "dry":
-                        index = 4;
-                        break;
-                    case "fan":
-                        index = 2;
-                        break;
-                    default:
-                        index = 0;
-                        break;
-                }
-                return index;
+                case "auto":
+                    index = 3;
+                    break;
+                case "cool":
+                    index = 0;
+                    break;
+                case "heat":
+                    index = 1;
+                    break;
+                case "dry":
+                    index = 4;
+                    break;
+                case "fan":
+                    index = 2;
+                    break;
+                default:
+                    index = 0;
+                    break;
             }
-            catch (Exception ex)
-            {
-                MainPage.Log($"get curModeIndex error : {ex.Message}");
-                return 0;
-            }
+            return index;
         }
 
         /// <summary>
-        /// 璁剧疆bus鍗忚妯″紡鏍囪
+        /// 璁剧疆bus鍗忚鏍囪璁剧疆a鍗忚鏁版嵁
         /// </summary>
-        public void SetModeIndex(int index)
+        public void SetMode(int index , Function function)
         {
             string value = "auto";
             switch (index)
@@ -95,49 +112,41 @@
                     value = "fan";
                     break;
             }
-            SetAttrState(FunctionAttributeKey.Mode, value);
+            function.SetAttrState(FunctionAttributeKey.Mode, value);
         }
 
         /// <summary>
         /// 褰撳墠椋庨�熺储寮�
         /// bus鎺у埗鍛戒护浣跨敤
         /// </summary>
-        public byte curFanIndex()
+        public byte GetFanIndex(Function function)
         {
-            try
+            var value = function.GetAttrState(FunctionAttributeKey.FanSpeed);
+            byte index = 0;
+            switch (value)
             {
-                string value = GetAttrState(FunctionAttributeKey.FanSpeed);
-                byte index = 0;
-                switch (value)
-                {
-                    case "high":
-                        index = 1;
-                        break;
-                    case "medium":
-                        index = 2;
-                        break;
-                    case "low":
-                        index = 3;
-                        break;
-                    case "auto":
-                        index = 0;
-                        break;
-                    default:
-                        index = 0;
-                        break;
-                }
-                return index;
+                case "high":
+                    index = 1;
+                    break;
+                case "medium":
+                    index = 2;
+                    break;
+                case "low":
+                    index = 3;
+                    break;
+                case "auto":
+                    index = 0;
+                    break;
+                default:
+                    index = 0;
+                    break;
             }
-            catch (Exception ex)
-            {
-                MainPage.Log($"get curFanIndex error : {ex.Message}");
-                return 0;
-            }
+            return index;
         }
         /// <summary>
-        /// 璁剧疆bus鍗忚椋庨�熸爣璁�
+        /// 鏍规嵁bus鍗忚椋庨�熸爣璁拌缃產鍗忚鏍囪
         /// </summary>
-        public void SetFanIndex(int index)
+        public void SetFan(int index,Function function)
         {
             string value = "high";
             switch (index)
@@ -155,195 +164,20 @@
                     value = "auto";
                     break;
             }
-            SetAttrState(FunctionAttributeKey.FanSpeed, value);
+            function.SetAttrState(FunctionAttributeKey.FanSpeed, value);
         }
-
-        /*  鍘绘帀琛嶇敓灞炴�э紝閫氳繃base.GetAttrState 鏌ユ壘灞炴�т笌鐘舵��
-        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> { "auto", "cool", "heat", "dry", "fan" },
-                            max = 4,
-                            min = 0,
-                        };
-                    }
-                }
-                if (_trait_mode.curValue.ToString() == "{}")
-                    _trait_mode.curValue = "cool";
-                return _trait_mode;
-            }
-        }
-
-        FunctionAttributes _trait_fan;
-        [Newtonsoft.Json.JsonIgnore]
-        public FunctionAttributes trait_fan
-        {
-            get
-            {
-                if (_trait_fan == null)
-                {
-                    _trait_fan = attributes.Find((obj) => obj.key == "fan");
-                    //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
-                    if (_trait_fan == null)
-                    {
-                        _trait_fan = new FunctionAttributes()
-                        {
-                            key = "fan",
-                            value = new List<string> { "high", "medium", "low", "auto" },
-                            max = 3,
-                            min = 0,
-                            curValue = "high"
-                        };
-                    }
-                }
-                if (_trait_fan.curValue.ToString() == "{}")
-                    _trait_fan.curValue = "high";
-                return _trait_fan;
-            }
-        }
-
-        FunctionAttributes _trait_temp;
-        /// <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 = 32,
-                            min = 16,
-                        };
-                    }
-                }
-                if (_trait_temp.curValue.ToString() == "{}")
-                {
-                    _trait_temp.curValue = 16;
-                }
-                double vv = 16;
-                Double.TryParse(_trait_temp.curValue.ToString(), out vv);
-                _trait_temp.curValue = Convert.ToInt32(vv);
-                return _trait_temp;
-            }
-        }
-
-        FunctionAttributes _trait_swting;
-        [Newtonsoft.Json.JsonIgnore]
-        public FunctionAttributes trait_swting
-        {
-            get
-            {
-                if (_trait_swting == null)
-                {
-                    _trait_swting = attributes.Find((obj) => obj.key == "swting");
-                    //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
-                    if (_trait_swting == null)
-                    {
-                        _trait_swting = new FunctionAttributes()
-                        {
-                            key = "swting",
-                            value = new List<string> { "up", "down", "left", "right" },
-                            max = 3,
-                            min = 0,
-                        };
-                    }
-                }
-                if (_trait_swting.curValue.ToString() == "{}")
-                    _trait_swting.curValue = "up";
-                return _trait_swting;
-            }
-        } 
-        /// <summary>
-        /// 绌鸿皟鎵妯″紡鍒楄〃
-        /// </summary>
-        [Newtonsoft.Json.JsonIgnore]
-        public List<string> swting
-        {
-            get
-            {
-                try
-                {
-                    return trait_swting.value;
-                }
-                catch (Exception ex)
-                {
-                    MainPage.Log($"ac get swting error : {ex.Message}");
-                    return new List<string> { "up", "down", "left", "right" };
-                }
-            }
-        }
-        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);
-                return _trait_IndoorTemp;
-            }
-        }
-        */
 
         /// <summary>
         /// 褰撳墠妯″紡鐨刬con璺緞
         /// </summary>
         /// <param name="lightingIcon">鑾峰彇鐨勫浘鏍囩被鍨嬶紝榛樿鏄偣浜�</param>
         /// <returns></returns>
-        public string GetModeIconPath(bool lightingIcon = true)
+        public string GetModeIconPath(string modeValue , bool lightingIcon = true)
         {
-            var value = GetAttrState(FunctionAttributeKey.Mode);
             var imagePath = "FunctionIcon/AC/CoolIcon.png";
             if (lightingIcon)
             {
-                switch (value)
+                switch (modeValue)
                 {
                     case "auto":
                         imagePath = "FunctionIcon/AC/AutoIcon.png";
@@ -368,7 +202,7 @@
             else
             {
                 imagePath = "FunctionIcon/AC/AutoIconGray.png";
-                switch (value)
+                switch (modeValue)
                 {
                     case "auto":
                         imagePath = "FunctionIcon/AC/AutoIconGray.png";
@@ -395,13 +229,12 @@
         /// </summary>
         /// <param name="lightingIcon">鑾峰彇鐨勫浘鏍囩被鍨嬶紝榛樿鏄偣浜�</param>
         /// <returns></returns>
-        public string GetFanIconPath(bool lightingIcon = true)
+        public string GetFanIconPath(string modeValue, bool lightingIcon = true)
         {
-            string value = GetAttrState(FunctionAttributeKey.FanSpeed);
             var imagePath = "FunctionIcon/AC/WindHighIcon.png";
             if (lightingIcon)
             {
-                switch (value)
+                switch (modeValue)
                 {
                     case "high":
                         imagePath = "FunctionIcon/AC/WindHighIcon.png";
@@ -419,7 +252,7 @@
             }
             else
             {
-                switch (value)
+                switch (modeValue)
                 {
                     case "high":
                         imagePath = "FunctionIcon/AC/WindHighIconGray.png";

--
Gitblit v1.8.0