From 1cba5ec1959f9012c66f96254afb3206904ff671 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期四, 25 三月 2021 13:27:01 +0800
Subject: [PATCH] 2021-3-25-1

---
 HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddControlComplete.cs |   72 ++++++++++++++++++-----------------
 1 files changed, 37 insertions(+), 35 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddControlComplete.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddControlComplete.cs
index 2b35cc8..ba1829d 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddControlComplete.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddControlComplete.cs
@@ -12,26 +12,12 @@
         }
         public void Show(Control control, bool bool_library)
         {
-            //鏁版嵁杞崲
-            Entity.Function function = new Entity.Function();
-            {
-                function.sid = control.sid;
-                function.deviceId = control.deviceId;
-                function.name = control.name;
-                function.spk = control.spk;
-                //function.attributes.AddRange(control.status);
-                //閬ユ帶鍣ㄦ坊鍔犲埌鍒楄〃锛�
-                if (null == Pir.currPir.FunctioList.Find((c) => c.sid == function.sid))
-                {
-                    Pir.currPir.FunctioList.Add(function);
-                }
-            }
             #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 fLayout = new FrameLayout
             {
@@ -41,7 +27,7 @@
                 Width = Application.GetRealWidth(375),
             };
             this.AddChidren(fLayout);
-            //
+            //鎴愬姛鍥炬爣
             Button iconBtn = new Button
             {
                 Y = Application.GetRealHeight(28),
@@ -96,7 +82,7 @@
             quyuPatchView.frameLayout.Y = namePatchView.frameLayout.Bottom;
             this.AddChidren(quyuPatchView.FLayoutView());
             quyuPatchView.btnText1.TextID = StringId.suoshuquyu;
-            quyuPatchView.btnText2.Text = Intelligence.Automation.LogicMethod.GetGetRoomName(function);
+            quyuPatchView.btnText2.Text = Intelligence.Automation.LogicMethod.GetGetRoomName(GetFunction(control.deviceId));
 
             //缁х画娣诲姞
             Button addBtn = new Button
@@ -124,17 +110,23 @@
                 List<string> list = new List<string>();
                 for (int i = 0; i < Pir.currPir.FunctioList.Count; i++)
                 {
+                    //娣诲姞鎵�鏈夐仴鎺у悕绉板垪琛�
                     list.Add(Pir.currPir.FunctioList[i].name);
                 }
                 Method method = new Method();
                 method.EditControlName(StringId.editName, list, control.name, (name, dialog) =>
                 {
+                    //鍙戦�佹洿鏂板悕绉板懡浠�
                     Method.ThreadSend(new Control { deviceId = control.deviceId, name = name }, (responsePackNew) =>
                     {
+                        //鍏抽棴绐楀彛
                         dialog.Close();
+                        //鏇存柊澶囨敞
                         namePatchView.btnText2.Text = name;
-                        function.name = name;
-
+                        //鏇存柊涓存椂璁惧鍚嶇О
+                        control.name = name;
+                        //鏇存崲鍐呭瓨璁惧鍚嶇О
+                        GetFunction(control.deviceId).name = name;
                     }, "淇敼鍚嶇О", "dialog", null, dialog);
                 }, () => { });
             };
@@ -142,22 +134,22 @@
             quyuPatchView.btnClick.MouseUpEventHandler += (sender, e) =>
             {
                 Method method = new Method();
-                method.ManagementPosition(function, () =>
+                method.ManagementPosition(GetFunction(control.deviceId), () =>
                 {
                     //鏇存柊鍖哄煙
-                    quyuPatchView.btnText2.Text = Intelligence.Automation.LogicMethod.GetGetRoomName(function);
+                    quyuPatchView.btnText2.Text = Intelligence.Automation.LogicMethod.GetGetRoomName(GetFunction(control.deviceId));
                 });
             };
             //缁х画娣诲姞鐐瑰嚮浜嬩欢
             addBtn.MouseUpEventHandler += (sender, e) =>
             {
                 if (bool_library)
-                {
+                {//缁х画娣诲姞搴撶殑閬ユ帶鍣�
+                    Method.RefreshView("PirMain");//鍒锋柊鎸囩偣鐣岄潰
                     this.RemoveFromParent();
-                    RefreshView();
                 }
                 else
-                {
+                {//缁х画娣诲姞鑷畾涔夌殑閬ユ帶鍣�
                     Method method = new Method();
                     method.AddControl(this, (controlDevice) =>
                     {
@@ -171,26 +163,36 @@
             //瀹屾垚鐐瑰嚮浜嬩欢
             saveView.btnClick.MouseUpEventHandler += (sender, e) =>
             {
+                //鍒锋柊鎸囩偣鐣岄潰
+                Method.RefreshView("PirMain");
                 //绉婚櫎鎵�鏈夌晫闈�
                 MainPage.BasePageView.RemoveViewByTag("PirView");
-                RefreshView();
-
             };
             #endregion
         }
         /// <summary>
-        /// 鍒锋柊绾㈠瀹濅富鐣岄潰
+        /// 鏌ユ壘璁惧瀵硅薄
         /// </summary>
-        void RefreshView()
+        /// <param name="deviceId">璁惧ID</param>
+        /// <returns></returns>
+        public Entity.Function GetFunction(string deviceId)
         {
+            var fun = Pir.currPir.FunctioList.Find((c) => c.deviceId == deviceId);
+            if (fun != null)
+            {
+                return fun;
+            }
+            return new Entity.Function();
+        }
 
-            //绉婚櫎绾㈠瀹濇牴鐣岄潰
-            MainPage.BasePageView.RemoveViewByTag("PirMain");
-            //閲嶆柊鍔犺浇鐣岄潰
-            var page = new PirMain();
-            MainPage.BasePageView.AddChidren(page);
-            page.Show();
-            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+        /// <summary>
+        /// 绉婚櫎鐣岄潰
+        /// </summary>
+        public override void RemoveFromParent()
+        {
+            //鍒锋柊鎸囧畾鐣岄潰
+            Method.RefreshView("PirMain");
+            base.RemoveFromParent();
         }
     }
 }

--
Gitblit v1.8.0