From eda3fb873e59544ff36301b51e05aef64f87b0f9 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期五, 27 八月 2021 13:21:21 +0800
Subject: [PATCH] Merge branch 'newBranch1' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into newBranch1

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs |  238 ++++++++++++++++++++++++++++------------------------------
 1 files changed, 115 insertions(+), 123 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
index 8c7a270..2b40f4b 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
@@ -175,8 +175,7 @@
                                 temperatureView.btnState.Text = stateStr;
                                 //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
                                 string keyVlaue = "set_temp";
-                                selectedState = device.spk + "_"+ keyVlaue;
-
+                                selectedState = device.spk + "_" + keyVlaue;
                                 string set_temp_value = stateStr.Replace("鈩�", "");
                                 //鏁版嵁灏佽
                                 AddDictionary(keyVlaue, set_temp_value);
@@ -191,7 +190,7 @@
                             string currText = acModehView.btnState.Text;
                             //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
                             string keyVlaue = "mode";
-                            selectedState = device.spk + "_"+keyVlaue;
+                            selectedState = device.spk + "_" + keyVlaue;
                             PublicInterface modeView = new PublicInterface();
                             var modeListStr = modeView.GetViewList(keyVlaue);
                             modeView.SingleSelectionShow(this, modeListStr, Language.StringByID(StringId.modeLogic), currText
@@ -274,7 +273,7 @@
                                 temperatureView.btnState.Text = stateStr;
                                 //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
                                 string keyVlaue = "set_temp";
-                                selectedState = device.spk + "_"+ keyVlaue;
+                                selectedState = device.spk + "_" + keyVlaue;
                                 string set_temp_value = stateStr.Replace("鈩�", "");
                                 //鏁版嵁灏佽
                                 AddDictionary(keyVlaue, set_temp_value);
@@ -291,7 +290,7 @@
                             string currText = floorHeatingModehView.btnState.Text;
                             //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
                             string keyVlaue = "mode";
-                            selectedState = device.spk + "_"+ keyVlaue;
+                            selectedState = device.spk + "_" + keyVlaue;
                             PublicInterface modeView = new PublicInterface();
                             var modeListStr = modeView.GetViewList("floorheatingmode");
                             modeView.SingleSelectionShow(this, modeListStr, Language.StringByID(StringId.modeLogic), currText
@@ -308,6 +307,88 @@
                         {
                             //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
                             GetEditState(device, index, floorHeatingSwitchVie.btnState, temperatureView.btnState, floorHeatingModehView.btnState, null);
+                        }
+
+                        #endregion
+                    }
+                    break;
+                case SPK.AirFreshStandard:
+                    {
+                        #region 鐣岄潰
+                        ///寮�鍏�
+                        LogicView.FunTypeView AirFreshSwitchVie = new LogicView.FunTypeView();
+                        AirFreshSwitchVie.btnText.TextID = StringId.switchLogic;
+                        fLayout.AddChidren(AirFreshSwitchVie.FLayoutView());
+
+                        ///椋庨��
+                        LogicView.FunTypeView AirFreshSpeedView = new LogicView.FunTypeView();
+                        AirFreshSpeedView.frameLayout.Y = AirFreshSwitchVie.frameLayout.Bottom;
+                        AirFreshSpeedView.btnText.TextID = StringId.speedLogic;
+                        fLayout.AddChidren(AirFreshSpeedView.FLayoutView());
+                        #endregion
+                        #region 鐐瑰嚮浜嬩欢
+                        ///寮�鍏崇偣鍑讳簨浠�
+                        AirFreshSwitchVie.btnClick.MouseUpEventHandler += (sender, e) =>
+                          {
+
+                              SwitchViewMethod(device, AirFreshSwitchVie.btnState, 2);
+                          };
+                        ///椋庨�熺偣鍑讳簨浠�
+                        AirFreshSpeedView.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            //瀹氫箟涓�涓复鏃跺垪琛�
+                            List<string> fanAttrList = new List<string>();
+                            //鍔ㄦ�佽鍙栨柊椋庨閫熷垪琛�
+                            var fanAttr = device.GetAttribute(FunctionAttributeKey.FanSpeed);
+                            foreach (var fanAttrValue in fanAttr.value)
+                            {
+                                switch (fanAttrValue)
+                                {
+                                    case "high":
+                                        {
+                                            fanAttrList.Add(Language.StringByID(StringId.HighWindSpeed));
+                                        }
+                                        break;
+                                    case "medium":
+                                        {
+                                            fanAttrList.Add(Language.StringByID(StringId.MiddleWindSpeed));
+                                        }
+                                        break;
+                                    case "low":
+                                        {
+
+                                            fanAttrList.Add(Language.StringByID(StringId.LowWindSpeed));
+                                        }
+                                        break;
+                                    case "auto":
+                                        {
+                                            fanAttrList.Add(Language.StringByID(StringId.Auto));
+                                            break;
+                                        }
+
+                                }
+                            }
+                            ///涔嬪墠鐨勭姸鎬佹枃鏈�
+                            string currText = AirFreshSpeedView.btnState.Text;
+                            //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
+                            string keyVlaue = "fan";
+                            selectedState = device.spk + "_" + keyVlaue;
+                            PublicInterface speedView = new PublicInterface();
+                            var speedListStr = fanAttrList;// speedView.GetViewList(keyVlaue);
+                            speedView.SingleSelectionShow(this, speedListStr, Language.StringByID(StringId.speedLogic), currText
+                               , (stateValue) =>
+                               {
+                                   //鐣岄潰鏄剧ず閫変腑鍊�
+                                   AirFreshSpeedView.btnState.Text = stateValue;
+                                   //鏁版嵁灏佽
+                                   AddDictionary(keyVlaue, speedView.GetModeValueString(stateValue, keyVlaue));
+
+                               });
+                        };
+                        if (edit)
+                        {
+                            //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
+                            GetEditState(device, index, AirFreshSwitchVie.btnState, AirFreshSpeedView.btnState, null, null);
                         }
 
                         #endregion
@@ -357,9 +438,9 @@
                             }
                         case SPK.AcStandard:
                         case SPK.FloorHeatStandard:
+                        case SPK.AirFreshStandard:
                             {
-
-                                //(绌鸿皟/鍦扮儹)鍋氫簡涓�涓壒娈婂鐞嗭紱
+                                //鍋氫簡涓�涓壒娈婂鐞嗭紱
                                 bool _bool = false;
                                 for (int i = 0; i < dicSateteList.Count; i++)
                                 {
@@ -379,8 +460,6 @@
                                     diction.Add("value", "on");
                                     dicSateteList.Add(diction);
                                 }
-
-
                             }
                             break;
                     }
@@ -388,6 +467,8 @@
 
                     if (edit)
                     {
+                        //鏇存柊寤舵椂鏃堕棿
+                        outputDevice.delay = Logic.currlogic.output[index].delay;
                         //绉婚櫎鏃ф暟鎹�
                         Logic.currlogic.output.RemoveAt(index);
                         //鏂版暟鎹彃鍏ユ棫鏁版嵁鐨勪綅缃�;
@@ -409,91 +490,12 @@
                     this.RemoveFromParent();
                     return;
                 }
-                LogicMethod.RemoveAllView();
+                LogicMethod.CurrLogicMethod.RemoveAllView();
                 AddLogic addLogic = new AddLogic();
                 MainPage.BasePageView.AddChidren(addLogic);
                 addLogic.Show();
                 MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
             };
-            #endregion
-
-        }
-       
-        /// <summary>
-        ///寮�鍏�=鐣岄潰
-        /// </summary>
-        /// <param name="fLayout"></param>
-        /// <param name="device"></param>
-        /// <param name="index"></param>
-        /// <param name="edit"></param>
-        /// <param name="intView">閫変腑View鐨勬暟閲�</param>
-        private void SwitchView(FrameLayout fLayout, Entity.Function device, int index, bool edit, int intView)
-        {
-            #region 鐣岄潰
-            ///寮�鍏�
-            LogicView.FunTypeView curtainSwitchView = new LogicView.FunTypeView();
-            curtainSwitchView.btnText.TextID = StringId.switchLogic;
-            fLayout.AddChidren(curtainSwitchView.FLayoutView());
-            #endregion
-            #region 鐐瑰嚮浜嬩欢
-            ///寮�鍏崇偣鍑讳簨浠�
-            curtainSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
-            {
-                SwitchViewMethod(device, curtainSwitchView.btnState, intView);
-            };
-            if (edit)
-            {
-                //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
-                GetEditState(device, index, curtainSwitchView.btnState, null, null, null);
-            }
-            #endregion
-
-        }
-        /// <summary>
-        ///锛堝紑鍏�+浜害/鐧惧垎姣�)鐣岄潰
-        /// </summary>
-        /// <param name="fLayout"></param>
-        /// <param name="device"></param>
-        /// <param name="index"></param>
-        /// <param name="edit"></param>
-        /// <param name="intView">閫変腑View鐨勬暟閲�</param>
-        private void SwitchBrightnessView(FrameLayout fLayout, Entity.Function device, int index, bool edit, int intView)
-        {
-            #region 鐣岄潰
-            ///寮�鍏�
-            LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView();
-            lightSwitchView.btnText.TextID = StringId.switchLogic;
-            fLayout.AddChidren(lightSwitchView.FLayoutView());
-            ///浜害
-            LogicView.FunTypeView brightnessView = new LogicView.FunTypeView();
-            brightnessView.frameLayout.Y = lightSwitchView.frameLayout.Bottom;
-            if (device.spk == SPK.CurtainTrietex || device.spk == SPK.CurtainRoller)
-            {
-
-                brightnessView.btnText.TextID = StringId.percentum;
-            }
-            else
-            {
-                brightnessView.btnText.TextID = StringId.brightnesLogic;
-            }
-            fLayout.AddChidren(brightnessView.FLayoutView());
-            #endregion
-            #region 鐐瑰嚮浜嬩欢
-            ///寮�鍏崇偣鍑讳簨浠�
-            lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
-            {
-                SwitchViewMethod(device, lightSwitchView.btnState, intView);
-            };
-            ///浜害鐐瑰嚮浜嬩欢
-            brightnessView.btnClick.MouseUpEventHandler += (sender, e) =>
-            {
-                BrightnessMethod(device, brightnessView.btnState, brightnessView.btnText.Text);
-            };
-            if (edit)
-            {
-                //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
-                GetEditState(device, index, lightSwitchView.btnState, brightnessView.btnState, null, null);
-            }
             #endregion
 
         }
@@ -506,13 +508,10 @@
         private void SwitchViewMethod(Entity.Function device, Button button, int len)
         {
             #region 鐣岄潰
-            FrameLayout frame = new FrameLayout
-            {
-                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
-            };
+            FrameLayout frame = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewTrans60lucence };
             this.AddChidren(frame);
             LogicView.SwitchView switchView = new LogicView.SwitchView();
-            switchView.FLayoutView(frame, len, button.Text, (Action<string>)((strValue) =>
+            switchView.FLayoutView(frame, len, button.Text, (strValue) =>
             {
                 int id = 0;
                 switch (strValue)
@@ -536,14 +535,11 @@
                 //鐣岄潰鏄剧ず閫変腑鍊�
                 button.TextID = id;
                 selectedState = device.spk + "_" + strValue;
+                //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
                 string keyVlaue = "on_off";
                 //鏁版嵁灏佽
-                Dictionary<string, string> dic = new Dictionary<string, string>();
-                LogicMethod.dictionary(dic, "key", "on_off");
-                LogicMethod.dictionary(dic, "value", strValue);
-                AddDictionaryData(dicSateteList, keyVlaue, dic);
-
-            }));
+                AddDictionary(keyVlaue, strValue);
+            });
             #endregion
         }
         /// <summary>
@@ -557,14 +553,13 @@
             //涔嬪墠鐨勭姸鎬佸��
             string stateVlaue = button.Text;
             LogicView.BrightnessView brightness = new LogicView.BrightnessView();
-            brightness.FLayoutView(this, titleName, stateVlaue, (Action<string>)((brightnesValue) =>
+            brightness.FLayoutView(this, titleName, stateVlaue, (brightnesValue) =>
             {
                 //鐣岄潰鏄剧ず閫変腑鍊�
-                button.Text = brightnesValue+"%";
-                string keyVlaue = "";
+                button.Text = brightnesValue + "%";
                 selectedState = device.spk + brightnesValue.ToString();
-                //鏁版嵁灏佽
-                Dictionary<string, string> dic = new Dictionary<string, string>();
+                //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
+                string keyVlaue = "";
                 switch (device.spk)
                 {
                     //寮�鍏崇伅鍏� light.Switch
@@ -576,16 +571,16 @@
                             keyVlaue = "brightness";
                         }
                         break;
-                    case SPK.CurtainTrietex:
                     case SPK.CurtainRoller:
+                    case SPK.CurtainTrietex:
                         {
                             keyVlaue = "percent";
                         }
                         break;
                 }
-                LogicMethod.dictionary(dic, "value", brightnesValue.ToString());
-                AddDictionaryData(dicSateteList, keyVlaue, dic);
-            }));
+                //鏁版嵁灏佽
+                AddDictionary(keyVlaue, brightnesValue);
+            });
             #endregion
 
         }
@@ -601,7 +596,7 @@
         private void GetEditState(Entity.Function device, int index, Button button1, Button button2, Button button3, Button button4)
         {
             Output outputs = Logic.currlogic.output[index];
-            var dicList = outputs.status as List<Dictionary<string, string>>;
+            var dicList = outputs.status;
             //娓呴櫎涔嬪墠鏃ф暟鎹�
             dicSateteList.Clear();
             if (dicList.Count != 0)
@@ -620,23 +615,22 @@
         {
             //鏁版嵁灏佽
             Dictionary<string, string> dic = new Dictionary<string, string>();
-            LogicMethod.dictionary(dic, "key", KeyValue);
-            LogicMethod.dictionary(dic, "value", selectedValue);
-            AddDictionaryList(KeyValue, dic, dicSateteList);
+            LogicMethod.CurrLogicMethod.dictionary(dic, "key", KeyValue);
+            LogicMethod.CurrLogicMethod.dictionary(dic, "value", selectedValue);
+            AddDictionaryList(KeyValue, dic);
         }
         /// <summary>
         /// 鏇存柊鏁版嵁鍒楄〃
         /// </summary>
         /// <param name="keyValue">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param> 
-        /// <param name="dictionary">閫変腑鏁版嵁</param>
-        /// <param name="dicList">瀛樺偍鏁版嵁鍒楄〃</param>
+        /// <param name="dictionary">娣诲姞閫変腑鏁版嵁</param>
         /// <returns></returns>
-        private void AddDictionaryList(string keyValue, Dictionary<string, string> dictionary, List<Dictionary<string, string>> dicList)
+        private void AddDictionaryList(string keyValue, Dictionary<string, string> dictionary)
         {
             int indexValue = -1;
-            for (int i = 0; i < dicList.Count; i++)
+            for (int i = 0; i < dicSateteList.Count; i++)
             {
-                var dic = dicList[i];
+                var dic = dicSateteList[i];
                 if (dic.ContainsValue(keyValue))
                 {
                     //鍒ゆ柇鏄惁瀛樺湪
@@ -648,14 +642,14 @@
             if (indexValue != -1)
             {
                 //瀛樺湪绉婚櫎
-                dicList.RemoveAt(indexValue);
+                dicSateteList.RemoveAt(indexValue);
                 //閲嶆柊娣诲姞
-                dicList.Insert(indexValue, dictionary);
+                dicSateteList.Insert(indexValue, dictionary);
             }
             else
             {
                 //鏂版坊鍔�
-                dicList.Add(dictionary);
+                dicSateteList.Add(dictionary);
             }
 
         }
@@ -686,8 +680,6 @@
             }
 
         }
-
-
 
     }
 }

--
Gitblit v1.8.0