wxr
2022-09-27 0ee75b88cfe03e46289de0de96e8ed4580c797d3
HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
@@ -70,7 +70,7 @@
            }
            // 条件处理方法
            InpOrOutLogicMethod.InputCondition(this, viewLayout);
            InpOrOutLogicMethod.Current.InputCondition(this, viewLayout);
            ///添加图标的View
            LogicView.LogicAddView addInputIcon = new LogicView.LogicAddView();
            addInputIcon.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
@@ -89,7 +89,7 @@
            titleOutpu.btnNextIcon.Visible = false;
            viewLayout.AddChidren(titleOutpu.FLayoutView());
            //目标处理方法
            InpOrOutLogicMethod.OutputTarget(this, viewLayout);
            InpOrOutLogicMethod.Current.OutputTarget(this, viewLayout);
            ///添加图标的View
            LogicView.LogicAddView addOutputIcon = new LogicView.LogicAddView();
            addOutputIcon.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
@@ -238,13 +238,9 @@
                    new LogicView.TipPopView().TipBox(StringId.tip, StringId.targetNull);
                    return;
                }
                Loading loading = new Loading();
                this.AddChidren(loading);
                HDL_ON.DAL.Server.ResponsePackNew responsePackNew = null;
                HDL_ON.DAL.Server.ResponsePackNew r = null;
                if (string.IsNullOrEmpty(Logic.currlogic.userLogicId))
                {
                    List<string> list = new List<string>();
@@ -252,11 +248,11 @@
                    {
                        list.Add(logic.name);
                    }
                    new LogicView.TipPopView().InputBox(StringId.editName, InpOrOutLogicMethod.GetLogicName(Logic.currlogic), StringId.nameNull, StringId.NameAlreadyExists, list, (logicName, view
                    new LogicView.TipPopView().InputBox(StringId.editName, InpOrOutLogicMethod.Current.GetLogicName(Logic.currlogic), StringId.nameNull, StringId.NameAlreadyExists, list, (logicName, view
                        ) =>
                    {
                        Logic.currlogic.name = logicName;
                        Logic.currlogic.sid = LogicMethod.CurrLogicMethod.NewSid();
                        Logic.currlogic.sid = LogicMethod.Current.NewSid();
                        loading.Start();
                        new System.Threading.Thread(() =>
                        {
@@ -265,7 +261,7 @@
                                if (!MainPage.NoLoginMode)
                                {
                                    //发送新加逻辑命令;
                                    responsePackNew = Send.AddLogic(Logic.currlogic);
                                    r = Send.Current.AddLogic(Logic.currlogic,true);
                                }
                            }
@@ -278,46 +274,30 @@
                                    if(MainPage.NoLoginMode)
                                    {
                                        Logic.LogicList.Add(Logic.currlogic);
                                        LogicMethod.CurrLogicMethod.RemoveAllView();
                                        LogicMethod.Current.RemoveAllView();
                                        MainView.MainShow();
                                        return;
                                    }
                                    if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
                                    if (r != null)
                                    {
                                        //获取逻辑详细返回是一个数组(object类型转换为数组);
                                        var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString());
                                        for (int a = 0; a < jArray.Count; a++)
                                        var userLogicIdList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Logic>>(r.Data.ToString());
                                        for (int i = 0; i < userLogicIdList.Count; i++)
                                        {
                                            var jay = jArray[a];
                                            //数据返序列化为Logic对象
                                            var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay);
                                            var logic = Newtonsoft.Json.JsonConvert.DeserializeObject<Logic>(str);
                                            if (logic.userLogicId != "")
                                            {
                                                //更新云端唯一自动化id;
                                                Logic.currlogic.userLogicId = logic.userLogicId;
                                            }
                                            else
                                            var logic = userLogicIdList[i];
                                            if (string.IsNullOrEmpty(logic.userLogicId))
                                            {
                                                //自己看的所以不需要支持中英文
                                                new LogicView.TipPopView().FlashingBox("没有返回云端唯一自动化id");
                                            }
                                            //更新云端唯一自动化id;
                                            Logic.currlogic.userLogicId = logic.userLogicId;
                                        }
                                        Logic.LogicList.Add(Logic.currlogic);
                                        LogicMethod.CurrLogicMethod.RemoveAllView();
                                        LogicMethod.Current.RemoveAllView();
                                        MainView.MainShow();
                                    }
                                    else
                                    {
                                        if (responsePackNew != null)
                                        {
                                            new LogicView.TipPopView().FlashingBox(responsePackNew.message);
                                        }
                                    }
                                });
                            }
@@ -336,7 +316,7 @@
                        try
                        {
                            //发送修改逻辑命令;
                            responsePackNew = Send.UpdateLogic(Logic.currlogic);
                            r = Send.Current.UpdateLogic(Logic.currlogic,true);
                        }
                        catch { }
@@ -345,24 +325,14 @@
                            Application.RunOnMainThread(() =>
                            {
                                loading.Hide();
                                if (responsePackNew != null && responsePackNew.Code == "0")
                                if (r != null )
                                {
                                    LogicMethod.CurrLogicMethod.RemoveAllView();
                                    LogicMethod.Current.RemoveAllView();
                                    MainView.MainShow();
                                }
                                else
                                {
                                    if (responsePackNew != null)
                                    {
                                        new LogicView.TipPopView().FlashingBox(responsePackNew.message);
                                    }
                                }
                            });
                        }
                    })
                    { IsBackground = true }.Start();