wei
2021-03-03 d4811b7d34b45ff6b21b97f11da128b5572ec526
HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs
@@ -4,12 +4,13 @@
using Shared;
namespace HDL_ON.UI.UI2.PersonalCenter.PirDevice
{
    public class AddButton:FrameLayout
    public class AddButton : FrameLayout
    {
        public AddButton()
        {
            Tag = "Pir";
        }
        public void Show()
        public void Show(Control control)
        {
            #region 界面布局
            this.BackgroundColor = CSS.CSS_Color.viewMiddle;
@@ -97,69 +98,80 @@
            #endregion
            View.Buttons buttons = new View.Buttons();
            var buttonNameList = buttons.GetList("默认按钮");
            buttons.AddButton(buttonFLayout, buttonNameList, (s) => {
            buttons.AddButton(buttonFLayout, buttonNameList, (s) =>
            {
                editText.Text = s;
               #if __Android__
#if __Android__
                editText.SetSelectionEnd();
               #endif
#endif
            });
            ///下一步的点击事件
            saveBtn.MouseUpEventHandler += (sender, e) =>
            {
                View.ReplicationView replication = new View.ReplicationView();
                //new引导界面
                replication.GuideShow();
                var texts = editText.Text.Trim();
                if (string.IsNullOrEmpty( editText.Text)) {
                if (string.IsNullOrEmpty(editText.Text))
                {
                    //名称不能为空
                    return;
                }
                var butName = Pir.BuottonList.Find((c) => c.value == texts);
                if (butName!=null) {
                if (butName != null)
                {
                    //名称已经存在
                    return;
                }
                //new引导界面
                View.ReplicationView replication = new View.ReplicationView();
                replication.Show();
                //添加数据对象
                ButtonObj buttonObj = new ButtonObj();
                buttonObj.Key = "key" + Pir.BuottonList.Count.ToString();
                buttonObj.value = texts;
                HDL_ON.DAL.Server.ResponsePackNew responsePackNew = null;
                new System.Threading.Thread(() =>
                PirSend.CodeStudy(buttonObj, (responsePackNew) =>
                {
                    try
                    ///这里:监听MTTP推送下来主题,才知道是否添加成功
                    ///
                    //休眠是为显示引导界面
                      System.Threading.Thread.Sleep(5000);
                    //移除添加按钮引导界面
                    replication.RemView();
                    //if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
                    //{
                    var buttonName = Pir.BuottonList.Find((c) => c.value == buttonObj.value);
                    if (buttonName == null)
                    {
                        //发送红外码学习命令
                        responsePackNew = PirSend.CodeStudy(buttonObj);
                        //添加数据
                        Pir.BuottonList.Add(buttonObj);
                    }
                    catch { }
                    finally
                    //移除添加按钮界面
                    this.RemoveFromParent();
                    for (int i = MainPage.BasePageView.ChildrenCount - 1; 0 <= i; i--)
                    {
                        Application.RunOnMainThread(() =>
                        var view = MainPage.BasePageView.GetChildren(i);
                        if (view.GetType() == typeof(AddControl))
                        {
                            if (PirSend.Error(responsePackNew))
                            {
                                //添加数据
                                Pir.BuottonList.Add(buttonObj);
                                //移除添加按钮界面
                                this.RemoveFromParent();
                                //加载数据界面
                                AddControl addControl = new AddControl();
                                addControl.Show();
                                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                            }
                            //移除添加按钮引导界面
                         //  replication.dialog.Close();
                        });
                            view.RemoveFromParent();
                        }
                    }
                    //加载数据界面
                    AddControl addControl = new AddControl();
                    MainPage.BasePageView.AddChidren(addControl);
                    addControl.Show(control);
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                    //}
                    //else
                    //{
                    //    PirSend.Error(responsePackNew);
                    //}
                })
                { IsBackground = true }.Start();
                });
            };
        }