wxr
2020-12-22 a56a485926a8927f904d7f4795c371c25b35753a
HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -15,6 +15,12 @@
            for (int i = 0; i < Logic.currlogic.input.Count; i++)
            {
                Input inputCondition = Logic.currlogic.input[i];
                if (inputCondition == null)
                {
                    //防止有的空对象;
                    //正常情况下不会该现象;
                    continue;
                }
                ///各种条件的View
                LogicView.AddOutputInputView inputView = new LogicView.AddOutputInputView();
                inputView.FLayoutView(viewLayout);
@@ -177,6 +183,12 @@
            for (int i = 0; i < Logic.currlogic.output.Count; i++)
            {
                Output outputTarget = Logic.currlogic.output[i];
                if (outputTarget == null)
                {
                    //防止有的空对象;
                    //正常情况下不会该现象;
                    continue;
                }
                ///各种条件的View
                LogicView.AddOutputInputView targetView = new LogicView.AddOutputInputView();
                targetView.FLayoutView(viewLayout);
@@ -550,14 +562,274 @@
                };
            }
        }
        /// <summary>
        /// 显示编辑之前的设备状态
        /// </summary>
        /// <param name="device">编辑设备</param>
        /// <param name="button1">显示Btn</param>
        /// <param name="button2">显示Btn</param>
        /// <param name="button3">显示Btn</param>
        /// <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)
            {
                //开关灯光
                case FunctionType.Relay:
                    {
                        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 FunctionType.Dimmer:
                case FunctionType.RGB:
                case FunctionType.RGBW:
                case FunctionType.ColorTemperature:
                    {
                        foreach (var dic in dicList)
                        {
                            string value = dic["value"];
                            switch (dic["key"])
                            {
                                case "on_off":
                                    {
                                        if (value == "on")
                                        {
                                            button1.Text = Language.StringByID(StringId.onLogic);
                                        }
                                        else
                                        {
                                            button1.Text = Language.StringByID(StringId.offLogic);
                                        }
                                    }
                                    break;
                                case "brightness":
                                    {
                                        button2.Text = value + "%";
                                    }
                                    break;
                            }
                        }
                    }
                    break;
                case FunctionType.Curtain:
                case FunctionType.MotorCurtain:
                case FunctionType.RollingShutter:
                    {
                        foreach (var dic in dicList)
                        {
                            string value = dic["value"];
                            switch (value)
                            {
                                case "on":
                                    {
                                        button1.Text = Language.StringByID(StringId.onLogic);
                                    }
                                    break;
                                case "off":
                                    {
                                        button1.Text = Language.StringByID(StringId.offLogic);
                                    }
                                    break;
                                case "stop":
                                    {
                                        button1.Text = Language.StringByID(StringId.stop);
                                    }
                                    break;
                            }
                        }
                    }
                    break;
                case FunctionType.AC:
                    {
                        foreach (var dic in dicList)
                        {
                            string value = dic["value"];
                            switch (dic["key"])
                            {
                                case "on_off":
                                    {
                                        switch (value)
                                        {
                                            case "on":
                                                {
                                                    button1.Text = Language.StringByID(StringId.onLogic);
                                                }
                                                break;
                                            case "off":
                                                {
                                                    button1.Text = Language.StringByID(StringId.offLogic);
                                                }
                                                break;
                                        }
                                    }
                                    break;
                                case "set_temp":
                                    {
                                        button2.Text = value + "℃";
                                    }
                                    break;
                                case "mode":
                                    {
                                        switch (value)
                                        {
                                            case "cool":
                                                {
                                                    button3.Text = Language.StringByID(StringId.coolLogic);
                                                }
                                                break;
                                            case "heat":
                                                {
                                                    button3.Text = Language.StringByID(StringId.heatingLogic);
                                                }
                                                break;
                                            case "auto":
                                                {
                                                    button3.Text = Language.StringByID(StringId.autoLogic);
                                                }
                                                break;
                                            case "dry":
                                                {
                                                    button3.Text = Language.StringByID(StringId.dehumidifyLogic);
                                                }
                                                break;
                                        }
                                    }
                                    break;
                                case "fan":
                                    {
                                        switch (value)
                                        {
                                            case "high":
                                                {
                                                    button4.Text = Language.StringByID(StringId.HighWindSpeed);
                                                }
                                                break;
                                            case "medium":
                                                {
                                                    button4.Text = Language.StringByID(StringId.MiddleWindSpeed);
                                                }
                                                break;
                                            case "low":
                                                {
                                                    button4.Text = Language.StringByID(StringId.LowWindSpeed);
                                                }
                                                break;
                                            case "auto":
                                                {
                                                    button4.Text = Language.StringByID(StringId.Auto);
                                                }
                                                break;
                                        }
                                    }
                                    break;
                            }
                        }
                    }
                    break;
                case FunctionType.FloorHeating:
                    {
                        foreach (var dic in dicList)
                        {
                            string value = dic["value"];
                            switch (dic["key"])
                            {
                                case "on_off":
                                    {
                                        switch (value)
                                        {
                                            case "on":
                                                {
                                                    button1.Text = Language.StringByID(StringId.onLogic);
                                                }
                                                break;
                                            case "off":
                                                {
                                                    button1.Text = Language.StringByID(StringId.offLogic);
                                                }
                                                break;
                                        }
                                    }
                                    break;
                                case "set_temp":
                                    {
                                        button2.Text = value + "℃";
                                    }
                                    break;
                                case "mode":
                                    {
                                        switch (value)
                                        {
                                            case "day":
                                                {
                                                    button3.Text = Language.StringByID(StringId.dayMode);
                                                }
                                                break;
                                            case "night":
                                                {
                                                    button3.Text = Language.StringByID(StringId.nightMode);
                                                }
                                                break;
                                            case "away":
                                                {
                                                    button3.Text = Language.StringByID(StringId.leaveMode);
                                                }
                                                break;
                                            case "normal":
                                                {
                                                    button3.Text = Language.StringByID(StringId.ordinaryMode);
                                                }
                                                break;
                                            case "timer":
                                                {
                                                    button3.Text = Language.StringByID(StringId.timeMode);
                                                }
                                                break;
                                        }
                                    }
                                    break;
                            }
                        }
                    }
                    break;
            }
        }
        /// <summary>
        /// 获取value键值
        /// </summary>
        /// <param name="keyValue"></param>
        /// <param name="dicList"></param>
        /// <returns></returns>
        private static string GetKeyValue(string keyValue, List<Dictionary<string, string>> dicList)
        public static string GetKeyValue(string keyValue, List<Dictionary<string, string>> dicList)
        {
            string valueStr = "";