From 90fadf3023d54d780154eaa2a839e2106317297f Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期一, 05 七月 2021 13:38:59 +0800
Subject: [PATCH] 代码合并整理

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs |  358 +++++++++++------------------------------------------------
 1 files changed, 68 insertions(+), 290 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
index e2ec5ee..5e24b64 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
@@ -3,7 +3,6 @@
 using System.Collections.Generic;
 using HDL_ON.Entity;
 
-
 namespace HDL_ON.UI.UI2.Intelligence.Automation
 {
     public class ConditionDeviceFunList : FrameLayout
@@ -20,7 +19,6 @@
         /// 瀹氫箟涓�涓彉閲忥紝璁板綍閫変腑鐘舵��
         /// </summary>
         private string selectedState = "unknown";
-
         public void Show(Entity.Function device, int index, bool edit)
         {
             #region 鐣岄潰甯冨眬
@@ -71,7 +69,6 @@
                         }
                     }
                     break;
-                //姘存蹈浼犳劅鍣�
                 case SPK.SensorWater:
                     {
                         LogicView.FunTypeView view = new LogicView.FunTypeView();
@@ -88,9 +85,7 @@
 
                     }
                     break;
-                //鐑熼浘浼犳劅鍣�
                 case SPK.SensorSmoke:
-                //鐕冩皵浼犳劅鍣�
                 case SPK.SensorGas:
                     {
                         LogicView.FunTypeView view = new LogicView.FunTypeView();
@@ -107,7 +102,6 @@
 
                     }
                     break;
-                //骞叉帴鐐�
                 case SPK.SensorDryContact:
                     {
                         LogicView.FunTypeView view = new LogicView.FunTypeView();
@@ -124,11 +118,8 @@
 
                     }
                     break;
-                //绾㈠鐝婃爮浼犳劅鍣�
                 case SPK.SensorShanLan:
-                //绾㈠瀵瑰皠浼犳劅鍣�
                 case SPK.SensorDuiShe:
-                //绾㈠绉诲姩浼犳劅鍣�
                 case SPK.SensorPir:
                     {
                         LogicView.FunTypeView view = new LogicView.FunTypeView();
@@ -144,7 +135,6 @@
                         }
                     }
                     break;
-                //闂ㄧ獥浼犳劅鍣�
                 case SPK.SensorDoorWindow:
                     {
                         LogicView.FunTypeView view = new LogicView.FunTypeView();
@@ -160,7 +150,6 @@
                         }
                     }
                     break;
-                //瓒呭0娉紶鎰熷櫒
                 case SPK.SensoruUtrasonic:
                     {
 
@@ -186,11 +175,10 @@
                         }
                     }
                     break;
-                //姣背娉紶鎰熷櫒
                 case SPK.SenesorMegahealth:
                     {
                         LogicView.FunTypeView view = new LogicView.FunTypeView();
-                        view.btnText.TextID = StringId.mubiaozhuangtai;//鐩爣鐘舵��
+                        view.btnText.TextID = StringId.mubiaozhuangtai ;//鐩爣鐘舵��
                         fLayout.AddChidren(view.FLayoutView());
                         view.btnClick.MouseUpEventHandler += (sender, e) =>
                         {
@@ -202,72 +190,7 @@
                         }
                     }
                     break;
-                //鐜妫�娴嬩紶鎰熷櫒
-                case SPK.SenesorEnvironment:
-                    {
-                        #region 鐣岄潰
-                        ///娓╁害
-                        LogicView.FunTypeView wenuView = new LogicView.FunTypeView();
-                        wenuView.btnText.TextID = StringId.wendu;
-                        fLayout.AddChidren(wenuView.FLayoutView());
-                        ///婀垮害
-                        LogicView.FunTypeView shiduView = new LogicView.FunTypeView();
-                        shiduView.frameLayout.Y = wenuView.frameLayout.Bottom;
-                        shiduView.btnText.TextID = StringId.shidu;
-                        fLayout.AddChidren(shiduView.FLayoutView());
-                        ///pm2.5
-                        LogicView.FunTypeView pm25View = new LogicView.FunTypeView();
-                        pm25View.frameLayout.Y = shiduView.frameLayout.Bottom;
-                        pm25View.btnText.TextID = StringId.pm25;
-                        fLayout.AddChidren(pm25View.FLayoutView());
-                        ///co2
-                        LogicView.FunTypeView co2View = new LogicView.FunTypeView();
-                        co2View.frameLayout.Y = pm25View.frameLayout.Bottom;
-                        co2View.btnText.TextID = StringId.co2;
-                        fLayout.AddChidren(co2View.FLayoutView());
-                        ///tvoc
-                        LogicView.FunTypeView tvocView = new LogicView.FunTypeView();
-                        tvocView.frameLayout.Y = co2View.frameLayout.Bottom;
-                        tvocView.btnText.TextID = StringId.tvoc;
-                        fLayout.AddChidren(tvocView.FLayoutView());
-                        #endregion
-                        #region 鐐瑰嚮浜嬩欢
-                        ///娓╁害鐐瑰嚮浜嬩欢
-                        wenuView.btnClick.MouseUpEventHandler += (sender, e) =>
-                        {
-                            new PublicInterface { }.ViewZuHe(this, StringId.wendugaoyu, StringId.wendudiyu, (intText, view) =>
-                            {
-                                InputBoxAction(device,intText, index, edit);
-                            });
-                        };
-                        ///婀垮害鐐瑰嚮浜嬩欢
-                        shiduView.btnClick.MouseUpEventHandler += (sender, e) =>
-                        {
-                            new PublicInterface { }.ViewZuHe(this, StringId.shidugaoyu, StringId.shidudiyu, (intText, view) =>
-                            {
-                                InputBoxAction(device,intText, index, edit);
-                            });
 
-                        };
-                        ///pm2.5鐐瑰嚮浜嬩欢
-                        pm25View.btnClick.MouseUpEventHandler += (sender, e) =>
-                        {
-                            PmCo2TvocAction(this,device, "pm25",StringId.pm25, index,edit);
-                        };
-                        ///co2鐐瑰嚮浜嬩欢
-                        co2View.btnClick.MouseUpEventHandler += (sender, e) =>
-                        {
-                            PmCo2TvocAction(this,device, "co2", StringId.co2, index, edit);
-                        };
-                        ///tvoc鐐瑰嚮浜嬩欢
-                        tvocView.btnClick.MouseUpEventHandler += (sender, e) =>
-                        {
-                            PmCo2TvocAction(this,device, "tvoc", StringId.tvoc, index, edit);
-
-                        };
-                        #endregion
-                    }
-                    break;
             }
             #region  淇濆瓨
             ///淇濆瓨View
@@ -277,65 +200,55 @@
             this.AddChidren(saveView.FLayoutView());
             saveView.btnClick.MouseUpEventHandler += (sen, e) =>
             {
-                Save(device,index, edit);
-            };
-
-            #endregion
-
-        }
-        /// <summary>
-        /// 淇濆瓨杈撳叆鏉′欢
-        /// </summary>
-        /// <param name="index">绱㈠紩鍊�</param>
-        /// <param name="edit"></param>
-        private void Save(Entity.Function device,int index, bool edit)
-        {
-            
-            if (selectedState != "unknown")
-            {
-                Input inputDevice = new Input();
-                inputDevice.condition_type = "3";
-                inputDevice.sid = device.sid;
-                inputDevice.condition = dicSateteList;
-                if (edit)
+                if (selectedState != "unknown")
                 {
-                    //绉婚櫎鏃ф暟鎹�
-                    Logic.currlogic.input.RemoveAt(index);
-                    //鏂版暟鎹彃鍏ユ棫鏁版嵁鐨勪綅缃�;
-                    Logic.currlogic.input.Insert(index, inputDevice);
+                    Input inputDevice = new Input();
+                    inputDevice.condition_type = "3";
+                    inputDevice.sid = device.sid;
+                    inputDevice.condition = dicSateteList;
+                    if (edit)
+                    {
+                        //绉婚櫎鏃ф暟鎹�
+                        Logic.currlogic.input.RemoveAt(index);
+                        //鏂版暟鎹彃鍏ユ棫鏁版嵁鐨勪綅缃�;
+                        Logic.currlogic.input.Insert(index, inputDevice);
+                    }
+                    else
+                    {
+                        //娣诲姞涓�涓潯浠�
+                        AddCondition(inputDevice);
+                    }
                 }
                 else
                 {
-                    //娣诲姞涓�涓潯浠�
-                    AddCondition(inputDevice);
-                }
-            }
-            else
-            {
-                if (!edit)
-                {
-                    //鎻愮ず鐢ㄦ埛
+                    if (!edit)
+                    {
+                        //鎻愮ず鐢ㄦ埛
+                        return;
+                    }
+                    this.RemoveFromParent();
                     return;
                 }
-                this.RemoveFromParent();
-                return;
-            }
-            LogicMethod.CurrLogicMethod.RemoveAllView();
-            if (MainView.IsGatewayType)
-            { //A缃戝叧
-                var addLogic = new AddLogic();
-                MainPage.BasePageView.AddChidren(addLogic);
-                addLogic.Show();
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-            }
-            else
-            {
-                //涓�绔彛缃戝叧
-                var onePortAutomation = new OnePortAutomation();
-                MainPage.BasePageView.AddChidren(onePortAutomation);
-                onePortAutomation.Show();
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-            }
+                LogicMethod.RemoveAllView();
+
+                if (MainView.IsGatewayType)
+                { //A缃戝叧
+                    var addLogic = new AddLogic();
+                    MainPage.BasePageView.AddChidren(addLogic);
+                    addLogic.Show();
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                }
+                else
+                {
+                    //涓�绔彛缃戝叧
+                    var onePortAutomation = new OnePortAutomation();
+                    MainPage.BasePageView.AddChidren(onePortAutomation);
+                    onePortAutomation.Show();
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                }
+            };
+
+            #endregion
 
         }
         /// <summary>
@@ -345,8 +258,7 @@
         /// <param name="button">閫変腑鐘舵�佹樉绀烘枃鏈珺tn鎺т欢</param>
         /// <param name="btnText1">灞炴�х姸鎬佸�兼枃鏈�1</param>
         /// <param name="btnText2">灞炴�х姸鎬佸�兼枃鏈�2</param>
-        private void DeviceView(Entity.Function device, Button button, int btnText1, int btnText2)
-        {
+        private void DeviceView(Entity.Function device,Button button,int btnText1,int btnText2) { 
             FrameLayout frame = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewTrans60lucence };
             this.AddChidren(frame);
             LogicView.SwitchView switchView = new LogicView.SwitchView();
@@ -447,99 +359,10 @@
                 //鏄剧ず鏂囨湰
                 button.TextID = intValue;
                 selectedState = device.spk + "_" + value;
-                AddDictionary(keyVlaue, value, "string");
+                AddDictionary(keyVlaue, value);
 
             });
 
-        }
-        /// <summary>
-        /// 娓╁害,婀垮害寮规璁剧疆鍊�
-        /// </summary>
-        /// <param name="textInt">鏂囨湰</param>
-        /// <param name="stateValue">缂栬緫涔嬪墠鐨勭姸鎬佸��,榛樿涓�20</param>
-        public void InputBoxAction(Entity.Function device, int textInt, int index, bool edit, string stateValue = "20")
-        {
-            if (edit)
-            {
-                Input inputs = Logic.currlogic.input[index];
-                //娓呴櫎涔嬪墠鏃ф暟鎹�
-                dicSateteList.Clear();
-                if (inputs.condition.Count != 0)
-                {
-                    //鏈夋暟鎹噸鏂拌祴鍊�
-                    dicSateteList = inputs.condition;
-                }
-            }
-            new LogicView.TipPopView { }.InputBox(textInt, stateValue, (value) =>
-            {
-                string keyValue = "20";
-                string data_type = "integer";
-                string comparator = "=";
-                switch (textInt)
-                {
-                    case StringId.wendugaoyu:
-                        {
-                            keyValue = "temperature";
-                            comparator = ">";
-                            data_type = "float";
-                        }
-                        break;
-                    case StringId.wendudiyu:
-                        {
-                            keyValue = "temperature";
-                            comparator = "<";
-                            data_type = "float";
-                        }
-                        break;
-                    case StringId.shidugaoyu:
-                        {
-                            keyValue = "humidity";
-                            comparator = ">";
-                        }
-                        break;
-                    case StringId.shidudiyu:
-                        {
-                            keyValue = "humidity";
-                            comparator = "<";
-                        }
-                        break;
-                }
-                selectedState = device.spk + "_" + value;
-                AddDictionary(keyValue, value, data_type, comparator);
-                Save(device,index, edit);
-            });
-        }
-        /// PM2.5,Co2,Tvoc璁剧疆鍊�
-        /// </summary>
-        /// <param name="frame">褰撳墠鐣岄潰</param>
-        /// <param name="key">灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�<</param>
-        /// <param name="title">鏍囬鏂囨湰</param>
-        /// <param name="index"></param>
-        /// <param name="edit"></param>
-        /// <param name="stateValue">缂栬緫涔嬪墠鐨勭姸鎬佸��,榛樿涓�""</param>
-        public void PmCo2TvocAction(FrameLayout frame, Entity.Function device,string key,int title, int index, bool edit, string stateValue = "")
-        {
-            if (edit)
-            {
-                Input inputs = Logic.currlogic.input[index];
-                //娓呴櫎涔嬪墠鏃ф暟鎹�
-                dicSateteList.Clear();
-                if (inputs.condition.Count != 0)
-                {
-                    //鏈夋暟鎹噸鏂拌祴鍊�
-                    dicSateteList = inputs.condition;
-                }
-            }
-            PublicInterface view = new PublicInterface();  
-            var listStr = view.GetViewList(key); 
-            view.SingleSelectionShow(frame, listStr, Language.StringByID(title), view.GetString(key, stateValue)
-               , (text) =>
-               {
-                   var value = view.GetValue(key, text);
-                   selectedState = device.spk + "_"+ key;
-                   AddDictionary(key, value, "integer");
-                   Save(device,index, edit);
-               });
         }
         /// <summary>
         /// 鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
@@ -568,28 +391,36 @@
         /// </summary>
         /// <param name="KeyValue">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param>
         /// <param name="selectedValue">鐘舵�佸��</param>
-        /// <param name="data_type">绫诲瀷</param>
-        /// <param name="comparator">姣旇緝鍏崇郴</param>
-        private void AddDictionary(string KeyValue, string selectedValue, string data_type, string comparator = "=")
+        private void AddDictionary(string KeyValue, string selectedValue)
         {
             //鏁版嵁灏佽
             Dictionary<string, string> dic = new Dictionary<string, string>();
-            LogicMethod.CurrLogicMethod.dictionary(dic, "key", KeyValue);
-            LogicMethod.CurrLogicMethod.dictionary(dic, "comparator", comparator);
-            LogicMethod.CurrLogicMethod.dictionary(dic, "data_type", data_type);
-            LogicMethod.CurrLogicMethod.dictionary(dic, "value", selectedValue);
-            AddDictionaryList(dic);
+            LogicMethod.dictionary(dic, "key", KeyValue);
+            LogicMethod.dictionary(dic, "comparator", "=");
+            LogicMethod.dictionary(dic, "data_type", "string");
+            LogicMethod.dictionary(dic, "value", selectedValue);
+            AddDictionaryList(KeyValue, dic);
         }
         /// <summary>
         /// 鏇存柊鏁版嵁鍒楄〃
         /// </summary>
-        /// <param name="keyValue">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param>
-        /// <param name="comparator">姣旇緝鍏崇郴</param>
+        /// <param name="keyValue">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param> 
         /// <param name="dictionary">娣诲姞閫変腑鏁版嵁</param>
         /// <returns></returns>
-        private void AddDictionaryList(Dictionary<string, string> dictionary)
+        private void AddDictionaryList(string keyValue, Dictionary<string, string> dictionary) 
         {
-            var indexValue = IsContainsAll(dictionary, dicSateteList);
+            int indexValue = -1;
+            for (int i = 0; i < dicSateteList.Count; i++)
+            {
+                var dic = dicSateteList[i];
+                if (dic.ContainsValue(keyValue))
+                {
+                    //鍒ゆ柇鏄惁瀛樺湪
+                    indexValue = i;
+                    break;
+                }
+            }
+
             if (indexValue != -1)
             {
                 //瀛樺湪绉婚櫎
@@ -615,13 +446,8 @@
             {
                 if (Logic.currlogic.input[i].sid == input.sid)
                 {
-                    //鏈変簺璁惧姣旇緝鐗规畩锛堜緥濡傦細娴锋灄浼犳劅鍣ㄨ繕鏄鍒ゆ柇灞炴�у�硷紝娓╂箍搴﹀睘鎬ц繕瑕佸垽鏂瘮杈冨叧绯伙紝鎵嶈兘纭鏄惁宸茬粡瀛樺湪璇ユ潯浠讹紝鍏朵粬璁惧鏉′欢鐩存帴鐢╯id鍒ゆ柇鍗冲彲锛�
-                    //鍔犱竴绾у垽鏂槸涓哄吋瀹圭壒娈婅澶�
-                    if (IsContainsAll(input.condition, Logic.currlogic.input[i].condition))
-                    {
-                        indexValue = i;
-                        break;
-                    }
+                    indexValue = i;
+                    break;
                 }
             }
 
@@ -636,53 +462,5 @@
             }
 
         }
-        /// <summary>
-        /// 鍒ゆ柇dictionaryB鍒楄〃鏄惁瀹屾暣鍖呭惈鍙︿竴涓猟ictionaryA
-        /// </summary>
-        /// <param name="dictionaryA">瀵硅薄</param>
-        /// <param name="dictionaryB">鍒楄〃</param>
-        /// <returns>杩斿洖鍒楄〃鐨勭储寮曞��</returns>
-        public int IsContainsAll(Dictionary<string, string> dictionaryA, List<Dictionary<string, string>> dictionaryB)
-        {
-            int valueInt = -1;
-            for (int i = 0; i < dictionaryB.Count; i++)
-            {
-                var dic = dictionaryB[i];
-                string key = dic["key"];
-                string comparatorValue = dic["comparator"];
-                if (dictionaryA["key"] == key && dictionaryA["comparator"] == comparatorValue)
-                {
-                    //鍒ゆ柇鏄惁瀛樺湪
-                    valueInt = i;
-                    break;
-                }
-            }
-            return valueInt;
-        }
-        /// <summary>
-        /// 鍒ゆ柇dictionaryB鏄惁瀹屾暣鍖呭惈鍙︿竴涓猟ictionaryA
-        /// </summary>
-        /// <param name="dictionaryA"></param>
-        /// <param name="dictionaryB"></param>
-        /// <returns></returns>
-        public bool IsContainsAll(List<Dictionary<string, string>> dictionaryA, List<Dictionary<string, string>> dictionaryB)
-        {
-
-            for (int i = 0; i < dictionaryA.Count; i++)
-            {
-                var dic = dictionaryA[i];
-                string key = dic["key"];
-                string comparatorValue = dic["comparator"];
-                var list = dictionaryB.FindAll((dictionary) => dictionary["key"] == key && dictionary["comparator"] == comparatorValue);
-                if (list.Count> 0)
-                {
-                    return true;
-                }
-
-            }
-            return false;
-        }
-
-       
     }
 }

--
Gitblit v1.8.0