From 631f94758c3cb42abcdda8094e77895f376eff16 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期一, 11 一月 2021 14:53:43 +0800
Subject: [PATCH] 2021-1-12-3

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs |  210 ++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 153 insertions(+), 57 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
index f1c4814..5bacc1d 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -1,6 +1,8 @@
 锘縰sing System;
 using Shared;
 using System.Collections.Generic;
+using HDL_ON.Entity;
+
 namespace HDL_ON.UI.UI2.Intelligence.Automation
 {
     public class InpOrOutLogicMethod
@@ -38,9 +40,75 @@
                             inputView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png";
                             foreach (var dic in dicList)
                             {
+                                string keyValue = dic["key"];
                                 string value = dic["value"];
-                                inputView.btnText.Text = Language.StringByID(StringId.hour) + ": " + value;
-                                inputView.btnClick.AddTag("timepoint", value);
+                                if (keyValue == "timepoint")
+                                {
+                                    inputView.btnText.Text = Language.StringByID(StringId.hour) + ": " + value;
+                                }
+                                else
+                                {
+                                    string strtext = "";
+                                    string statetext = "";
+                                    switch (keyValue)
+                                    {
+                                        case "before_sunrise":
+                                            {
+                                                strtext = Language.StringByID(StringId.sunrise);
+                                                statetext = Language.StringByID(StringId.advanced);
+                                              
+                                            }
+                                            break;
+                                        case "before_sunset":
+                                            {
+
+                                                strtext = Language.StringByID(StringId.sunset);
+                                                statetext = Language.StringByID(StringId.advanced);
+                                              
+                                            } break;
+                                        case "before_noon":
+                                            {
+                                                strtext = Language.StringByID(StringId.at);
+                                                statetext = Language.StringByID(StringId.advanced);
+                                            }
+                                            break;
+                                        case "after_sunrise":
+                                            {
+                                                strtext = Language.StringByID(StringId.sunrise);
+                                                statetext = Language.StringByID(StringId.delayLogic);
+                                            } break;
+                                        case "after_sunset":
+                                            {
+                                                strtext = Language.StringByID(StringId.sunset);
+                                                statetext = Language.StringByID(StringId.delayLogic);
+                                            } break;
+                                        case "after_noon":
+                                            {
+                                                strtext = Language.StringByID(StringId.at);
+                                                statetext = Language.StringByID(StringId.delayLogic);
+                                            }
+                                            break;
+                                    }
+
+                                    if (value != "0")
+                                    {
+                                        if (value == "30")
+                                        {
+                                            statetext += value + Language.StringByID(StringId.s);
+                                        }
+                                        else
+                                        {
+                                            statetext += value + Language.StringByID(StringId.minute);
+                                        }
+                                    }
+                                    else
+                                    {
+                                        statetext = "";
+                                    }
+
+                                    inputView.btnText.Text = strtext;
+                                    inputView.btnState.Text = statetext;
+                                }
                             }
                         }
                         break;
@@ -51,7 +119,6 @@
                             {
                                 string value = dic["value"];
                                 inputView.btnText.Text = Language.StringByID(StringId.timeHorizon) + ": " + value;
-                                inputView.btnClick.AddTag("timeHorizon", value);
                             }
 
                         }
@@ -61,28 +128,28 @@
                             //鐢╯id鎵惧埌璁惧锛�
                             var device = LogicMethod.GetDevice(inputCondition.sid);
                             //鐢ㄨ澶囩殑functionType绫诲瀷鎵惧埌瀵瑰簲鍥炬爣锛�
-                            inputView.btnIcon.UnSelectedImagePath = LogicMethod.GetIconPath(device.functionType);
+                            inputView.btnIcon.UnSelectedImagePath = LogicMethod.GetIconPath(device.spk);
                             //鏄剧ず璁惧鍚嶇О
                             inputView.btnText.Text = device.name;
                             //鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害
                             inputView.btnText.Width = Application.GetRealWidth(80);
                             //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬�
-                            switch (device.functionType)
+                            switch (device.spk)
                             {
                                 //寮�鍏崇伅鍏� light.Switch
-                                case FunctionType.Dimmer:
-                                case FunctionType.RGB:
-                                case FunctionType.RGBW:
-                                case FunctionType.ColorTemperature:
-                                case FunctionType.Relay:
+                                case SPK.LightDimming:
+                                case SPK.LightRGB:
+                                case SPK.LightRGBW:
+                                case SPK.LightCCT:
+                                case SPK.LightSwitch:
                                 //绐楀笜
-                                case FunctionType.Curtain:
-                                case FunctionType.RollingShutter:
-                                case FunctionType.MotorCurtain:
+                                case SPK.CurtainSwitch:
+                                case SPK.CurtainRoller:
+                                case SPK.CurtainTrietex:
                                 //绌鸿皟
-                                case FunctionType.AC:
+                                case SPK.AcStandard:
                                 //鍦扮儹
-                                case FunctionType.FloorHeating:
+                                case SPK.FloorHeatStandard:
                                     {//寮�鍏崇伅
                                         foreach (var dic in dicList)
                                         {
@@ -129,13 +196,44 @@
                     {
                         case "1":
                             {
-                                FrameLayout fLayout = new FrameLayout
+                                bool is_bool = false;
+                                Input _input = Logic.currlogic.input[indexVulae];
+                                if (_input.condition_type == "1")
                                 {
-                                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
-                                };
-                                thisView.AddChidren(fLayout);
-                                TimeTpye timeTpye = new TimeTpye();
-                                timeTpye.TimePoint(fLayout, edit, indexVulae);
+                                    var dicLists = _input.condition as List<Dictionary<string, string>>;
+                                    foreach (var dic in dicLists)
+                                    {
+                                        string keyValue = dic["key"];
+                                        if (keyValue != "timepoint")
+                                        {
+                                            //閫氳繃閿�兼煡鎵鹃敭鍊兼槸鍚︽槸
+                                            //锛堟棩鍑�/鏃ヨ惤/姝e崍锛�
+                                            is_bool = true;
+                                            break;
+                                        }
+
+                                    }
+
+                                }
+                                if (is_bool)
+                                {
+                                    //璺宠浆鍒帮紙鏃ュ嚭/鏃ヨ惤/姝e崍锛夌晫闈�
+                                    SpeciaTime speciaTime = new SpeciaTime();
+                                    MainPage.BasePageView.AddChidren(speciaTime);
+                                    speciaTime.Show(edit, indexVulae);
+                                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                                }
+                                else
+                                {
+                                    //璺宠浆鍒帮紙鏃堕棿鐐癸級鐣岄潰
+                                    FrameLayout fLayout = new FrameLayout
+                                    {
+                                        BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+                                    };
+                                    thisView.AddChidren(fLayout);
+                                    TimeTpye timeTpye = new TimeTpye();
+                                    timeTpye.TimePoint(fLayout, edit, indexVulae);
+                                }
                             }
                             break;
                         case "2":
@@ -159,8 +257,6 @@
                                 MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                             }
                             break;
-
-
                     }
                 };
                 ///鍒犻櫎鎺т欢
@@ -206,7 +302,7 @@
                             //鐢╯id鎵惧埌璁惧锛�
                             var device = LogicMethod.GetDevice(outputTarget.sid);
                             //鐢ㄨ澶囩殑functionType绫诲瀷鎵惧埌瀵瑰簲鍥炬爣锛�
-                            targetView.btnIcon.UnSelectedImagePath = LogicMethod.GetIconPath(device.functionType);
+                            targetView.btnIcon.UnSelectedImagePath = LogicMethod.GetIconPath(device.spk);
                             //鏄剧ず璁惧鍚嶇О
                             targetView.btnText.Text = device.name;
                             //鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害
@@ -214,9 +310,9 @@
                             //绗竴涓彉閲忔樉绀虹姸鎬佸��
                             string stateStr = "";
                             //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬�
-                            switch (device.functionType)
+                            switch (device.spk)
                             {
-                                case FunctionType.Relay:
+                                case SPK.LightSwitch:
                                     {//寮�鍏崇伅
 
                                         foreach (var dic in dicList)
@@ -235,10 +331,10 @@
                                         targetView.btnState.Text = stateStr;
                                     }
                                     break;
-                                case FunctionType.RGB:
-                                case FunctionType.RGBW:
-                                case FunctionType.ColorTemperature:
-                                case FunctionType.Dimmer:
+                                case SPK.LightRGB:
+                                case SPK.LightRGBW:
+                                case SPK.LightCCT:
+                                case SPK.LightDimming:
                                     {
                                         string on_off = GetKeyValue("on_off", dicList);
                                         string brightness = GetKeyValue("brightness", dicList);
@@ -261,9 +357,9 @@
                                         targetView.btnState.Text = stateStr;
                                     }
                                     break;
-                                case FunctionType.Curtain:
-                                case FunctionType.MotorCurtain:
-                                case FunctionType.RollingShutter:
+                                case SPK.CurtainSwitch:
+                                case SPK.CurtainTrietex:
+                                case SPK.CurtainRoller:
                                     {
                                         foreach (var dic in dicList)
                                         {
@@ -290,7 +386,7 @@
                                         targetView.btnState.Text = stateStr;
                                     }
                                     break;
-                                case FunctionType.AC: {
+                                case SPK.AcStandard: {
                                         string on_off = GetKeyValue("on_off", dicList);
                                         string set_temp = GetKeyValue("set_temp", dicList);
                                         string mode = GetKeyValue("mode", dicList);
@@ -386,7 +482,7 @@
 
                                     }
                                     break;
-                                case FunctionType.FloorHeating:
+                                case SPK.FloorHeatStandard:
                                     {
                                         string on_off = GetKeyValue("on_off", dicList);
                                         string set_temp = GetKeyValue("set_temp", dicList);
@@ -572,10 +668,10 @@
         /// <param name="button4">鏄剧ずBtn</param>
         public static void EditState(Entity.Function device, List<Dictionary<string, string>> dicList, Button button1, Button button2, Button button3, Button button4)
         {
-            switch (device.functionType)
+            switch (device.spk)
             {
                 //寮�鍏崇伅鍏�
-                case FunctionType.Relay:
+                case SPK.LightSwitch:
                     {
                         foreach (var dic in dicList)
                         {
@@ -591,10 +687,10 @@
                         }
                     }
                     break;
-                case FunctionType.Dimmer:
-                case FunctionType.RGB:
-                case FunctionType.RGBW:
-                case FunctionType.ColorTemperature:
+                case SPK.LightDimming:
+                case SPK.LightRGB:
+                case SPK.LightRGBW:
+                case SPK.LightCCT:
                     {
                         foreach (var dic in dicList)
                         {
@@ -624,9 +720,9 @@
                         }
                     }
                     break;
-                case FunctionType.Curtain:
-                case FunctionType.MotorCurtain:
-                case FunctionType.RollingShutter:
+                case SPK.CurtainSwitch:
+                case SPK.CurtainTrietex:
+                case SPK.CurtainRoller:
                     {
                         foreach (var dic in dicList)
                         {
@@ -652,7 +748,7 @@
                         }
                     }
                     break;
-                case FunctionType.AC:
+                case SPK.AcStandard:
                     {
                         foreach (var dic in dicList)
                         {
@@ -748,7 +844,7 @@
 
                     }
                     break;
-                case FunctionType.FloorHeating:
+                case SPK.FloorHeatStandard:
                     {
 
                         foreach (var dic in dicList)
@@ -894,9 +990,9 @@
                             name += device.name;
                             string stateStr = "";
                             //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬�
-                            switch (device.functionType)
+                            switch (device.spk)
                             {
-                                case FunctionType.Relay:
+                                case SPK.LightSwitch:
                                     {//寮�鍏崇伅
 
                                         foreach (var dic in dicList)
@@ -914,10 +1010,10 @@
                                         }
                                     }
                                     break;
-                                case FunctionType.RGB:
-                                case FunctionType.RGBW:
-                                case FunctionType.ColorTemperature:
-                                case FunctionType.Dimmer:
+                                case SPK.LightRGB:
+                                case SPK.LightRGBW:
+                                case SPK.LightCCT:
+                                case SPK.LightDimming:
                                     {
                                         string on_off = InpOrOutLogicMethod.GetKeyValue("on_off", dicList);
                                         string brightness = InpOrOutLogicMethod.GetKeyValue("brightness", dicList);
@@ -939,9 +1035,9 @@
                                         }
                                     }
                                     break;
-                                case FunctionType.Curtain:
-                                case FunctionType.MotorCurtain:
-                                case FunctionType.RollingShutter:
+                                case SPK.CurtainSwitch:
+                                case SPK.CurtainTrietex:
+                                case SPK.CurtainRoller:
                                     {
                                         foreach (var dic in dicList)
                                         {
@@ -967,8 +1063,8 @@
                                         }
                                     }
                                     break;
-                                case FunctionType.AC:
-                                case FunctionType.FloorHeating:
+                                case SPK.AcStandard:
+                                case SPK.FloorHeatStandard:
                                     {
                                         foreach (var dic in dicList)
                                         {

--
Gitblit v1.8.0