From c4f0723cc7053933a6e598eb0c58cfdf4e9d7459 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期一, 04 一月 2021 14:13:01 +0800
Subject: [PATCH] Merge branch 'WJC' into NewFilePath

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs |  137 +++++++++++++++------------------------------
 1 files changed, 45 insertions(+), 92 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
old mode 100755
new mode 100644
index bb24069..e46520b
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
@@ -17,10 +17,6 @@
         /// 瀹氫箟涓�涓彉閲忥紝璁板綍閫変腑鐘舵��
         /// </summary>
         private string selectedState = "unknown";
-        /// <summary>
-        /// 瀹氫箟涓�涓彉閲忥紝璁板綍閫変腑鐘舵�佽褰曞睘鎬�
-        /// </summary>
-        private string keyVlaue = "";
         public void Show(Entity.Function device, int index, bool edit)
         {
             #region 鐣岄潰甯冨眬
@@ -68,7 +64,31 @@
                                 BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
                             };
                             this.AddChidren(frame);
-                            SwitchViewMethod(frame, device, lightSwitchView.btnState, 2);
+                            LogicView.SwitchView switchView = new LogicView.SwitchView();
+                            switchView.FLayoutView(frame, 2, lightSwitchView.btnState.Text, (strValue) =>
+                            {
+                                int id = 0;
+                                switch (strValue)
+                                {
+                                    case "on":
+                                        {
+                                            id = StringId.onLogic;
+                                        }
+                                        break;
+                                    case "off":
+                                        {
+                                            id = StringId.offLogic;
+                                        }
+                                        break;
+                                }
+                                //鏄剧ず鏂囨湰
+                                lightSwitchView.btnState.TextID = id;
+                                selectedState = device.functionType + "_" + strValue;
+                                //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
+                                string keyVlaue = "on_off";
+                                AddDictionary(keyVlaue, strValue);
+
+                            });
                         };
                         if (edit)
                         {
@@ -87,8 +107,6 @@
             this.AddChidren(saveView.FLayoutView());
             saveView.btnClick.MouseUpEventHandler += (sen, e) =>
             {
-
-
                 if (selectedState != "unknown")
                 {
                     Input inputDevice = new Input();
@@ -129,46 +147,6 @@
 
         }
         /// <summary>
-        /// 寮�鍏冲姛鑳藉睍寮�鐣岄潰
-        /// </summary>
-        /// <param name="frame"></param>
-        /// <param name="device"></param>
-        /// <param name="button"></param>
-        /// <param name="len"></param>
-        public void SwitchViewMethod(FrameLayout frame, Entity.Function device, Button button, int len)
-        {
-
-            LogicView.SwitchView switchView = new LogicView.SwitchView();
-            switchView.FLayoutView(frame, len, button.Text, (strValue) =>
-            {
-                int id = 0;
-                switch (strValue)
-                {
-                    case "on":
-                        {
-                            id = StringId.onLogic;
-                        }
-                        break;
-                    case "off":
-                        {
-                            id = StringId.offLogic;
-                        }
-                        break;
-                }
-                button.TextID = id;
-                keyVlaue = "on_off";
-                Dictionary<string, string> dic = new Dictionary<string, string>();
-                LogicMethod.dictionary(dic, "key", "on_off");
-                LogicMethod.dictionary(dic, "comparator", "=");
-                LogicMethod.dictionary(dic, "data_type", "string");
-                LogicMethod.dictionary(dic, "value", strValue);
-                AddDictionaryData(dicSateteList, keyVlaue, dic);
-                selectedState = device.functionType + "_" + strValue;
-
-            });
-
-        }
-        /// <summary>
         /// 鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
         /// </summary>
         /// <param name="device">缂栬緫璁惧</param>
@@ -177,7 +155,7 @@
         /// <param name="button2">鏄剧ずBtn</param>
         /// <param name="button3">鏄剧ずBtn</param>
         /// <param name="button4">鏄剧ずBtn</param>
-        private void GetEditState(Entity.Function device , int index, Button button1, Button button2, Button button3, Button button4)
+        private void GetEditState(Entity.Function device, int index, Button button1, Button button2, Button button3, Button button4)
         {
             Input inputs = Logic.currlogic.input[index];
             var dicList = inputs.condition as List<Dictionary<string, string>>;
@@ -188,48 +166,31 @@
                 //鏈夋暟鎹噸鏂拌祴鍊�
                 dicSateteList = dicList;
             }
-            switch (device.functionType)
-            {
-                //寮�鍏崇伅鍏� light.Switch
-                case FunctionType.Dimmer:
-                case FunctionType.RGB:
-                case FunctionType.RGBW:
-                case FunctionType.ColorTemperature:
-                case FunctionType.Relay:
-                //绐楀笜
-                case FunctionType.Curtain:
-                case FunctionType.RollingShutter:
-                case FunctionType.MotorCurtain:
-                //绌鸿皟
-                case FunctionType.AC:
-                //鍦扮儹
-                case FunctionType.FloorHeating:
-                    {
-                        foreach (var dic in dicList)
-                        {
-                            string value = dic["value"];
-                            if (value == "on")
-                            {
-                                button1.Text = Language.StringByID(StringId.onLogic);
-                            }
-                            else
-                            {
-                                button1.Text = Language.StringByID(StringId.offLogic);
-                            }
-                        }
-                    }
-                    break;
-
-            }
+            InpOrOutLogicMethod.EditState(device, dicList, button1, button2, button3, button4);
         }
         /// <summary>
         /// 娣诲姞閫変腑鏁版嵁
         /// </summary>
-        /// <param name="dicList">瀛樺偍鏁版嵁鍒楄〃</param>
-        /// <param name="keyValue">璇嗗埆璁惧</param> 
+        /// <param name="KeyValue">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param>
+        /// <param name="selectedValue">鐘舵�佸��</param>
+        private void AddDictionary(string KeyValue, string selectedValue)
+        {
+            //鏁版嵁灏佽
+            Dictionary<string, string> dic = new Dictionary<string, string>();
+            LogicMethod.dictionary(dic, "key", KeyValue);
+            LogicMethod.dictionary(dic, "comparator", "=");
+            LogicMethod.dictionary(dic, "data_type", "string");
+            LogicMethod.dictionary(dic, "value", selectedValue);
+            AddDictionaryList(KeyValue, dic, dicSateteList);
+        }
+        /// <summary>
+        /// 鏇存柊鏁版嵁鍒楄〃
+        /// </summary>
+        /// <param name="keyValue">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param> 
         /// <param name="dictionary">閫変腑鏁版嵁</param>
+        /// <param name="dicList">瀛樺偍鏁版嵁鍒楄〃</param>
         /// <returns></returns>
-        private void AddDictionaryData(List<Dictionary<string, string>> dicList, string keyValue, Dictionary<string, string> dictionary)
+        private void AddDictionaryList(string keyValue, Dictionary<string, string> dictionary, List<Dictionary<string, string>> dicList)
         {
             int indexValue = -1;
             for (int i = 0; i < dicList.Count; i++)
@@ -283,14 +244,6 @@
                 Logic.currlogic.input.Add(input);
             }
 
-        }
-        /// <summary>
-        /// 绉婚櫎鎺т欢
-        /// </summary>
-        /// <param name="frame"></param>
-        private void RemView(FrameLayout frame)
-        {
-            frame.RemoveFromParent();
         }
     }
 }

--
Gitblit v1.8.0