From d72ca686a3e262693f8a6e45e747e8e8da43335b Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期二, 06 七月 2021 09:39:03 +0800
Subject: [PATCH] 2021-07-06 1.更新

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs |  430 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 399 insertions(+), 31 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
index 47fb936..214e0fc 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -17,12 +17,6 @@
             for (int i = 0; i < Logic.currlogic.input.Count; i++)
             {
                 Input inputCondition = Logic.currlogic.input[i];
-                if (inputCondition == null)
-                {
-                    //闃叉鏈夌殑绌哄璞★紱
-                    //姝e父鎯呭喌涓嬩笉浼氳鐜拌薄锛�
-                    continue;
-                }
                 ///鍚勭鏉′欢鐨刅iew
                 LogicView.AddOutputInputView inputView = new LogicView.AddOutputInputView();
                 inputView.FLayoutView(viewLayout);
@@ -56,7 +50,7 @@
                                             {
                                                 strtext = Language.StringByID(StringId.sunrise);
                                                 statetext = Language.StringByID(StringId.advanced);
-                                              
+
                                             }
                                             break;
                                         case "before_sunset":
@@ -64,8 +58,9 @@
 
                                                 strtext = Language.StringByID(StringId.sunset);
                                                 statetext = Language.StringByID(StringId.advanced);
-                                              
-                                            } break;
+
+                                            }
+                                            break;
                                         case "before_noon":
                                             {
                                                 strtext = Language.StringByID(StringId.at);
@@ -76,12 +71,14 @@
                                             {
                                                 strtext = Language.StringByID(StringId.sunrise);
                                                 statetext = Language.StringByID(StringId.delayLogic);
-                                            } break;
+                                            }
+                                            break;
                                         case "after_sunset":
                                             {
                                                 strtext = Language.StringByID(StringId.sunset);
                                                 statetext = Language.StringByID(StringId.delayLogic);
-                                            } break;
+                                            }
+                                            break;
                                         case "after_noon":
                                             {
                                                 strtext = Language.StringByID(StringId.at);
@@ -167,7 +164,197 @@
                                         }
                                     }
                                     break;
+                                //浼犳劅鍣�
+                                case SPK.SensorSmoke:
+                                case SPK.SensorGas:
+                                    {
+                                        foreach (var dic in dicList)
+                                        {
+                                            string value = dic["value"];
+                                            if (value == "alarm")
+                                            {
+                                                inputView.btnState.Text = Language.StringByID(StringId.xieluo);
+
+                                            }
+                                            else
+                                            {
+                                                inputView.btnState.Text = Language.StringByID(StringId.wuxieluo);
+                                            }
+                                        }
+                                    }
+                                    break;
+                                case SPK.SensorWater:
+                                    {
+                                        foreach (var dic in dicList)
+                                        {
+                                            string value = dic["value"];
+                                            if (value == "alarm")
+                                            {
+                                                inputView.btnState.Text = Language.StringByID(StringId.luoshui);
+
+                                            }
+                                            else
+                                            {
+                                                inputView.btnState.Text = Language.StringByID(StringId.wuluoshui);
+                                            }
+                                        }
+                                    }
+                                    break;
+                                case SPK.SensorDryContact:
+                                    {
+                                        foreach (var dic in dicList)
+                                        {
+
+                                            string value = dic["value"];
+                                            if (value == "on")
+                                            {
+                                                inputView.btnState.Text = Language.StringByID(StringId.onLogic);
+
+                                            }
+                                            else
+                                            {
+                                                inputView.btnState.Text = Language.StringByID(StringId.offLogic);
+                                            }
+                                        }
+                                    }
+                                    break;
+                                case SPK.SensorShanLan:
+                                case SPK.SensorDuiShe:
+                                case SPK.SensorPir:
+                                    {
+                                        foreach (var dic in dicList)
+                                        {
+
+                                            string value = dic["value"];
+                                            if (value == "true")
+                                            {
+                                                inputView.btnState.Text = Language.StringByID(StringId.youren);
+
+                                            }
+                                            else
+                                            {
+                                                inputView.btnState.Text = Language.StringByID(StringId.wuren);
+                                            }
+                                        }
+                                    }
+                                    break;
+                                case SPK.SensorDoorWindow:
+                                    {
+                                        foreach (var dic in dicList)
+                                        {
+
+                                            string value = dic["value"];
+                                            if (value == "open")
+                                            {
+                                                inputView.btnState.Text = Language.StringByID(StringId.kaiqi);
+
+                                            }
+                                            else
+                                            {
+                                                inputView.btnState.Text = Language.StringByID(StringId.bihe);
+                                            }
+                                        }
+                                    }
+                                    break;
+                                case SPK.SensoruUtrasonic:
+                                    {
+                                        string str = "";
+                                        foreach (var dic in dicList)
+                                        {
+                                            string value = dic["value"];
+                                            switch (dic["key"])
+                                            {
+                                                case "status":
+                                                    {
+                                                        if (value == "true")
+                                                        {
+                                                            str+= Language.StringByID(StringId.youren)+";";
+                                                        }
+                                                        else
+                                                        {
+                                                            str += Language.StringByID(StringId.wuren) + ";";
+                                                        }
+
+
+                                                    }
+                                                    break;
+                                                case "dismantle":
+                                                    {
+                                                        if (value == "true")
+                                                        {
+                                                            str += Language.StringByID(StringId.zaixian);
+                                                        }
+                                                        else
+                                                        {
+                                                            str += Language.StringByID(StringId.buzaixian);
+                                                        }
+                                                    }
+                                                    break;
+
+                                            }
+
+                                        }
+                                        inputView.btnState.Text = str;
+                                    }
+                                    break;
+
                             }
+                        }
+                        break;
+                    case "4":
+                        {
+                            inputView.btnIcon.UnSelectedImagePath = "LogicIcon/changesinoutdoor.png";
+                            string strtext = "";
+                            string strvalue = "";
+                            foreach (var dic in dicList)
+                            {
+                                string key = dic["key"];
+                                string comparator = dic["comparator"];
+                                string value = dic["value"];
+
+                                switch (key)
+                                {
+                                    case "outdoor_temp":
+                                        {
+                                            strvalue = value;
+                                            if (comparator == ">")
+                                            {
+                                                strtext = Language.StringByID(StringId.wendugaoyu);
+                                            }
+                                            else if (comparator == "<")
+                                            {
+                                                strtext = Language.StringByID(StringId.wendudiyu);
+                                            }
+
+                                        }
+                                        break;
+                                    case "outdoor_humity":
+                                        {
+                                            strvalue = value;
+                                            if (comparator == ">")
+                                            {
+                                                strtext = Language.StringByID(StringId.shidugaoyu);
+                                            }
+                                            else if (comparator == "<")
+                                            {
+                                                strtext = Language.StringByID(StringId.shidudiyu);
+                                            }
+
+                                        }
+                                        break;
+                                    case "pm2.5":
+                                        {
+                                            strtext = Language.StringByID(StringId.PM25);
+                                            strvalue = new OutdoorEnvironment { }.GetString(value);
+                                        }
+                                        break;
+
+                                }
+
+
+                            }
+                            inputView.btnText.Text = strtext;
+                            inputView.btnState.Text = strvalue;
                         }
                         break;
                     case "6":
@@ -197,9 +384,9 @@
                                             strtext = Language.StringByID(StringId.rain);
                                         }
                                         break;
-                                 
+
                                 }
-                                inputView.btnText.TextID =StringId.tianqibianhua;
+                                inputView.btnText.TextID = StringId.tianqibianhua;
                                 inputView.btnState.Text = strtext;
                             }
                         }
@@ -223,7 +410,6 @@
                             break;
                         }
                     }
-
                     //鏍囪缂栬緫鐘舵��
                     bool edit = true;
                     switch (button.Name)
@@ -291,6 +477,69 @@
                                 MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                             }
                             break;
+                        case "4":
+                            {
+                                ///褰撳墠鐨勭储寮曞�兼暟鎹璞�
+                                Input inputedit = Logic.currlogic.input[indexVulae];
+                                ///鐘舵�佸��
+                                string stateValue = "";
+                                ///鐘舵�佸�兼枃鏈�
+                                int intValue = -1;
+                                foreach (var dic in inputedit.condition)
+                                {
+                                    string key = dic["key"];
+                                    string comparator = dic["comparator"];
+                                    stateValue = dic["value"];
+                                    switch (key)
+                                    {
+                                        case "outdoor_temp":
+                                            {
+                                                if (comparator == ">")
+                                                {
+                                                    intValue = StringId.wendugaoyu;
+                                                }
+                                                else if (comparator == "<")
+                                                {
+                                                    intValue = StringId.wendudiyu;
+
+                                                }
+
+                                            }
+                                            break;
+                                        case "outdoor_humity":
+                                            {
+
+                                                if (comparator == ">")
+                                                {
+                                                    intValue = StringId.shidugaoyu;
+                                                }
+                                                else if (comparator == "<")
+                                                {
+                                                    intValue = StringId.shidudiyu;
+                                                }
+
+                                            }
+                                            break;
+                                        case "pm2.5":
+                                            {
+                                                intValue = StringId.PM25;
+                                            }
+                                            break;
+
+                                    }
+                                }
+                                OutdoorEnvironment outdoorEnvironment = new OutdoorEnvironment();
+                                if (intValue == StringId.PM25)
+                                {
+                                    outdoorEnvironment.PmAction(thisView, stateValue);
+                                }
+                                else
+                                {
+                                    outdoorEnvironment.InputBoxAction(intValue, stateValue);
+                                }
+
+                            }
+                            break;
                         case "6":
                             {
 
@@ -318,16 +567,10 @@
         /// <param name="viewLayout">涓婁笅婊戝姩鎺т欢</param>
         public static void OutputTarget(FrameLayout thisView, VerticalScrolViewLayout viewLayout)
         {
-            
+
             for (int i = 0; i < Logic.currlogic.output.Count; i++)
             {
                 Output outputTarget = Logic.currlogic.output[i];
-                if (outputTarget == null)
-                {
-                    //闃叉鏈夌殑绌哄璞★紱
-                    //姝e父鎯呭喌涓嬩笉浼氳鐜拌薄锛�
-                    continue;
-                }
                 ///鍚勭鏉′欢鐨刅iew
                 LogicView.AddOutputInputView targetView = new LogicView.AddOutputInputView();
                 targetView.FLayoutView(viewLayout);
@@ -429,17 +672,19 @@
                                         targetView.btnState.Text = stateStr;
                                     }
                                     break;
-                                case SPK.AcStandard: {
+                                case SPK.AcStandard:
+                                    {
                                         string on_off = GetKeyValue("on_off", dicList);
                                         string set_temp = GetKeyValue("set_temp", dicList);
                                         string mode = GetKeyValue("mode", dicList);
                                         string fan = GetKeyValue("fan", dicList);
-                                        if (on_off != "") {
+                                        if (on_off != "")
+                                        {
                                             switch (on_off)
                                             {
                                                 case "on":
                                                     {
-                                                        stateStr = Language.StringByID(StringId.onLogic)+",";
+                                                        stateStr = Language.StringByID(StringId.onLogic) + ",";
                                                     }
                                                     break;
                                                 case "off":
@@ -447,7 +692,7 @@
                                                         stateStr = Language.StringByID(StringId.offLogic) + ",";
                                                     }
                                                     break;
-                                               
+
                                             }
                                         }
 
@@ -464,7 +709,7 @@
                                             {
                                                 case "cool":
                                                     {
-                                                        stateStr += Language.StringByID(StringId.coolLogic)+",";
+                                                        stateStr += Language.StringByID(StringId.coolLogic) + ",";
                                                     }
                                                     break;
                                                 case "heat":
@@ -493,7 +738,7 @@
                                             {
                                                 case "high":
                                                     {
-                                                        stateStr += Language.StringByID(StringId.HighWindSpeed)+",";
+                                                        stateStr += Language.StringByID(StringId.HighWindSpeed) + ",";
                                                     }
                                                     break;
                                                 case "medium":
@@ -518,7 +763,8 @@
                                         {
                                             targetView.btnState.Text = Language.StringByID(StringId.offLogic);
                                         }
-                                        else {
+                                        else
+                                        {
                                             targetView.btnState.Text = stateStr.TrimEnd(',');
 
                                         }
@@ -559,7 +805,7 @@
                                             {
                                                 case "day":
                                                     {
-                                                        stateStr += Language.StringByID(StringId.dayMode)+",";
+                                                        stateStr += Language.StringByID(StringId.dayMode) + ",";
                                                     }
                                                     break;
                                                 case "night":
@@ -613,7 +859,7 @@
                                         }
                                         if (on_off != "" && on_off == "off")
                                         {
-                                            targetView.btnState.Text =Language.StringByID(StringId.offLogic);
+                                            targetView.btnState.Text = Language.StringByID(StringId.offLogic);
                                         }
                                         else
                                         {
@@ -651,7 +897,7 @@
                 {
                     Button button = (Button)sen;
                     //鎵惧埌褰撳墠缂栬緫鐨勭储寮�
-                    int indexVulae =0;
+                    int indexVulae = 0;
                     for (int index = 0; index < Logic.currlogic.output.Count; index++)
                     {
                         Output target = Logic.currlogic.output[index];
@@ -960,6 +1206,128 @@
 
                     }
                     break;
+                case SPK.SensorGas:
+                case SPK.SensorSmoke:
+                    {
+                        foreach (var dic in dicList)
+                        {
+                            string value = dic["value"];
+                            if (value == "alarm")
+                            {
+                                button1.Text = Language.StringByID(StringId.xieluo);
+                            }
+                            else
+                            {
+                                button1.Text = Language.StringByID(StringId.wuxieluo);
+                            }
+                        }
+                    }
+                    break;
+                case SPK.SensorWater:
+                    {
+                        foreach (var dic in dicList)
+                        {
+                            string value = dic["value"];
+                            if (value == "alarm")
+                            {
+                                button1.Text = Language.StringByID(StringId.luoshui);
+                            }
+                            else
+                            {
+                                button1.Text = Language.StringByID(StringId.wuluoshui);
+                            }
+                        }
+                    }
+                    break;
+                case SPK.SensorDryContact:
+                    {
+                        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;
+                case SPK.SensorShanLan:
+                case SPK.SensorDuiShe:
+                case SPK.SensorPir:
+                    {
+                        foreach (var dic in dicList)
+                        {
+                            string value = dic["value"];
+                            if (value == "true")
+                            {
+                                button1.Text = Language.StringByID(StringId.youren);
+                            }
+                            else
+                            {
+                                button1.Text = Language.StringByID(StringId.wuren);
+                            }
+                        }
+                    }
+                    break;
+                case SPK.SensorDoorWindow:
+                    {
+                        foreach (var dic in dicList)
+                        {
+                            string value = dic["value"];
+                            if (value == "open")
+                            {
+                                button1.Text = Language.StringByID(StringId.kaiqi);
+                            }
+                            else
+                            {
+                                button1.Text = Language.StringByID(StringId.bihe);
+                            }
+                        }
+                    }
+                    break;
+                case SPK.SensoruUtrasonic:
+                    {
+                        foreach (var dic in dicList)
+                        {
+                            string value = dic["value"];
+                            switch (dic["key"])
+                            {
+                                case "status":
+                                    {
+                                        if (value == "true")
+                                        {
+                                            button1.Text = Language.StringByID(StringId.youren);
+                                        }
+                                        else
+                                        {
+                                            button1.Text = Language.StringByID(StringId.wuren);
+                                        }
+
+
+                                    }
+                                    break;
+                                case "dismantle":
+                                    {
+                                        if (value == "true")
+                                        {
+                                            button1.Text = Language.StringByID(StringId.zaixian);
+                                        }
+                                        else
+                                        {
+                                            button1.Text = Language.StringByID(StringId.buzaixian);
+                                        }
+                                    }
+                                    break;
+
+                            }
+
+                        }
+                    }
+                    break;
             }
         }
         /// <summary>

--
Gitblit v1.8.0