wei
2021-01-27 7232642ff48a7fbde2018cde652f3e771fa58025
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)
                {
                    //防止有的空对象;
                    //正常情况下不会该现象;
                    continue;
                }
                ///各种条件的View
                LogicView.AddOutputInputView inputView = new LogicView.AddOutputInputView();
                inputView.FLayoutView(viewLayout);
@@ -40,9 +34,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;
@@ -53,7 +113,6 @@
                            {
                                string value = dic["value"];
                                inputView.btnText.Text = Language.StringByID(StringId.timeHorizon) + ": " + value;
                                inputView.btnClick.AddTag("timeHorizon", value);
                            }
                        }
@@ -105,6 +164,94 @@
                            }
                        }
                        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":
                        {
                            inputView.btnIcon.UnSelectedImagePath = "LogicIcon/changesinoutdoor.png";
                            foreach (var dic in dicList)
                            {
                                string strtext = "";
                                string value = dic["value"];
                                switch (value)
                                {
                                    case "sunny":
                                        {
                                            strtext = Language.StringByID(StringId.clearday);
                                        }
                                        break;
                                    case "cloudy":
                                        {
                                            strtext = Language.StringByID(StringId.cloudy);
                                        }
                                        break;
                                    case "rainy":
                                        {
                                            strtext = Language.StringByID(StringId.rain);
                                        }
                                        break;
                                }
                                inputView.btnText.TextID =StringId.tianqibianhua;
                                inputView.btnState.Text = strtext;
                            }
                        }
                        break;
                }
                //再次编辑条件状态点击事件
@@ -124,20 +271,50 @@
                            break;
                        }
                    }
                    //标记编辑状态
                    bool edit = true;
                    switch (button.Name)
                    {
                        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")
                                        {
                                            //通过键值查找键值是否是
                                            //(日出/日落/正午)
                                            is_bool = true;
                                            break;
                                        }
                                    }
                                }
                                if (is_bool)
                                {
                                    //跳转到(日出/日落/正午)界面
                                    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":
@@ -161,8 +338,78 @@
                                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":
                            {
                                WeatherCondition weatherCondition = new WeatherCondition();
                                MainPage.BasePageView.AddChidren(weatherCondition);
                                weatherCondition.Show();
                                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                            }
                            break;
                    }
                };
                ///删除控件
@@ -185,12 +432,6 @@
            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);
@@ -846,7 +1087,6 @@
            }
            return valueStr;
        }
        /// <summary>
        ///获取自动化名称
        /// </summary>