From 6d73bf6e816570291865674bef8bce8972e4de3f Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期三, 01 十二月 2021 16:32:57 +0800
Subject: [PATCH] 2021-12-01-01

---
 HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs |  137 ++++++++++++++++++++++++++++++---------------
 1 files changed, 92 insertions(+), 45 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs
index f6e3b65..859f2aa 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs
@@ -4,19 +4,25 @@
 using Shared;
 namespace HDL_ON.UI.UI2.PersonalCenter.PirDevice
 {
-    public class AddButton:FrameLayout
+    public class AddButton : FrameLayout
     {
         public AddButton()
         {
+            Tag = "PirView";
         }
-        public void Show()
+        public void Show(Control control)
         {
+
             #region 鐣岄潰甯冨眬
             this.BackgroundColor = CSS.CSS_Color.viewMiddle;
             PirDevice.View.TopView topView = new View.TopView();
             topView.topNameBtn.TextID = StringId.tianjiayaokongqi;
             this.AddChidren(topView.FLayoutView());
-            topView.clickBackBtn.MouseUpEventHandler += (sender, e) => { this.RemoveFromParent(); };
+            topView.clickBackBtn.MouseUpEventHandler += (sender, e) =>
+            {
+
+                RemoveFromParent();
+            };
 
             FrameLayout editfLayout = new FrameLayout
             {
@@ -97,71 +103,112 @@
             #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();
+                if (control.status.Count > 29)
+                {
+                    ///瓒呭嚭30涓孩澶栧疂鍐呭瓨婊′簡浼氬嚭鐜板紓甯�
+                    new PirMethod().ErrorShow(null, "娣诲姞鎸夐挳瓒呭嚭30涓�");
+                    return;
+                }
 
                 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) {
+                var butName = control.status.Find((c) => c.value == texts);
+                if (butName != null)
+                {
                     //鍚嶇О宸茬粡瀛樺湪
                     return;
                 }
-              
+                //new寮曞鐣岄潰
+                View.ReplicationView replication = new View.ReplicationView();
+                replication.Show(this);
+
                 //娣诲姞鏁版嵁瀵硅薄
-                ButtonObj buttonObj = new ButtonObj();
-                buttonObj.Key = "key" + Pir.BuottonList.Count.ToString();
+                Entity.AttributesStatus buttonObj = new Entity.AttributesStatus();
+                string keyName = GetKeyName(control.status);
+                buttonObj.key = keyName;
                 buttonObj.value = texts;
-              
-                HDL_ON.DAL.Server.ResponsePackNew responsePackNew = null;
-                new System.Threading.Thread(() =>
+
+                PirSend.CodeStudy(control, buttonObj, (mqttdate) =>
                 {
-
-                    try
+                    if (mqttdate != null)
                     {
-                        //鍙戦�佺孩澶栫爜瀛︿範鍛戒护
-                        responsePackNew = PirSend.CodeStudy(buttonObj);
-                    }
-                    catch { }
-                    finally
-                    {
-                        Application.RunOnMainThread(() =>
+                        //浼戠湢鏄负鏄剧ず寮曞鐣岄潰
+                        // System.Threading.Thread.Sleep(3000);
+                        //绉婚櫎娣诲姞鎸夐挳寮曞鐣岄潰
+                        replication.RemView();
+                        var buttonName = control.status.Find((c) => c.value == buttonObj.value);
+                        if (buttonName == null)
                         {
-                            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();
-
-                        });
+                            //娣诲姞鏁版嵁
+                            control.status.Add(buttonObj);
+                        }
+                        //绉婚櫎娣诲姞鎸夐挳鐣岄潰
+                        this.RemoveFromParent();
+                        //绉婚櫎涔嬪墠鍙兘瀛樺湪鐨勭晫闈�
+                        PirMethod.RemoveView("AddControl");
+                        //鍔犺浇鏁版嵁鐣岄潰
+                        AddControl addControl = new AddControl();
+                        MainPage.BasePageView.AddChidren(addControl);
+                        addControl.Show(control);
+                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                    }
+                    else
+                    {
+                        replication.RemView();
+                        PirMethod method = new PirMethod();
+                        method.ErrorShow(null, "娣诲姞澶辫触");
                     }
 
-                })
-                { IsBackground = true }.Start();
-               
+                });
             };
 
         }
+
+        /// <summary>
+        /// 绉婚櫎鐣岄潰
+        /// </summary>
+        public override void RemoveFromParent()
+        {
+            //鍒锋柊鎸囧畾鐣岄潰
+            PirMethod.RefreshView("PirMain");
+            base.RemoveFromParent();
+        }
+
+        /// <summary>
+        /// 鏌ユ壘鍞竴鍋ュ悕鍊�
+        /// </summary>
+        /// <param name="listKeyName">宸茬粡瀛樺湪鍋ュ悕鍒楄〃</param>
+        /// <returns></returns>
+        private string GetKeyName(List<Entity.AttributesStatus> listKeyName)
+        {
+            //鐩墠绾㈠瀹濆涔犳寜閽渶澶氭槸30涓紱
+            for (int i = 0; i < 50; i++)
+            {
+                string keyName = "key" + i.ToString();
+                ///鏌ユ壘鏄惁瀛樺湪
+                var currKeyName = listKeyName.Find((c) => c.key == keyName);
+                if (currKeyName == null)
+                {
+                    return keyName;
+                }
+            }
+
+            return "key" + listKeyName.Count;
+        }
+
     }
 }

--
Gitblit v1.8.0