From e1a8f2f7e4d850beedeb1469610b878c1427e976 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 15 十二月 2021 09:01:53 +0800
Subject: [PATCH] 更新

---
 HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs |   95 ++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 72 insertions(+), 23 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs
index 539cbd3..859f2aa 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs
@@ -8,15 +8,21 @@
     {
         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
             {
@@ -107,59 +113,102 @@
             ///涓嬩竴姝ョ殑鐐瑰嚮浜嬩欢
             saveBtn.MouseUpEventHandler += (sender, e) =>
             {
+                if (control.status.Count > 29)
+                {
+                    ///瓒呭嚭30涓孩澶栧疂鍐呭瓨婊′簡浼氬嚭鐜板紓甯�
+                    new PirMethod().ErrorShow(null, "娣诲姞鎸夐挳瓒呭嚭30涓�");
+                    return;
+                }
+
                 var texts = editText.Text.Trim();
                 if (string.IsNullOrEmpty(editText.Text))
                 {
                     //鍚嶇О涓嶈兘涓虹┖
                     return;
                 }
-                var butName = Pir.BuottonList.Find((c) => c.value == texts);
+                var butName = control.status.Find((c) => c.value == texts);
                 if (butName != null)
                 {
                     //鍚嶇О宸茬粡瀛樺湪
                     return;
                 }
                 //new寮曞鐣岄潰
-                ReplicationView replication = new ReplicationView();
-                MainPage.BasePageView.AddChidren(replication);
-                replication.Show();
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                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;
-               
-                PirSend.CodeStudy(buttonObj, (responsePackNew) =>
+
+                PirSend.CodeStudy(control, buttonObj, (mqttdate) =>
                 {
-                    //浼戠湢鏄负鏄剧ず寮曞鐣岄潰
-                  //  System.Threading.Thread.Sleep(5000);
-                    //绉婚櫎娣诲姞鎸夐挳寮曞鐣岄潰
-                    replication.RemoveFromParent();
-                    if (!PirSend.Error(responsePackNew))
+                    if (mqttdate != null)
                     {
-                        var buttonName = Pir.BuottonList.Find((c) => c.value == buttonObj.value);
+                        //浼戠湢鏄负鏄剧ず寮曞鐣岄潰
+                        // System.Threading.Thread.Sleep(3000);
+                        //绉婚櫎娣诲姞鎸夐挳寮曞鐣岄潰
+                        replication.RemView();
+                        var buttonName = control.status.Find((c) => c.value == buttonObj.value);
                         if (buttonName == null)
                         {
                             //娣诲姞鏁版嵁
-                            Pir.BuottonList.Add(buttonObj);
+                            control.status.Add(buttonObj);
                         }
                         //绉婚櫎娣诲姞鎸夐挳鐣岄潰
                         this.RemoveFromParent();
-                        //绉婚櫎涔嬪墠鐨勭晫闈�
-                        MainPage.BasePageView.RemoveViewByTag("AddControl");
+                        //绉婚櫎涔嬪墠鍙兘瀛樺湪鐨勭晫闈�
+                        PirMethod.RemoveView("AddControl");
                         //鍔犺浇鏁版嵁鐣岄潰
                         AddControl addControl = new AddControl();
                         MainPage.BasePageView.AddChidren(addControl);
-                        addControl.Show();
+                        addControl.Show(control);
                         MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                    }
+                    else
+                    {
+                        replication.RemView();
+                        PirMethod method = new PirMethod();
+                        method.ErrorShow(null, "娣诲姞澶辫触");
                     }
 
                 });
-
-
             };
 
         }
+
+        /// <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