From 6bca8fcd37a48808a0b9c9342fc1be0adddfece6 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期五, 08 五月 2020 17:46:44 +0800
Subject: [PATCH] 请合并最新代码,优化绑定信息

---
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs |   92 ++++++++++++++++++++++++++++++----------------
 1 files changed, 60 insertions(+), 32 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
old mode 100755
new mode 100644
index 37601a4..90e4420
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
@@ -41,7 +41,13 @@
         /// <summary>
         /// 閫昏緫涓槸鍚︽湁甯稿紑妯″紡
         /// </summary>
-        private bool HaveLogicNormallyOpenMode = false;
+        private bool haveLogicNormallyOpenMode = false;
+
+        /// <summary>
+        /// 闂ㄩ攣娣卞害鎺у埗涓婃姤绐楀彛鏄惁寮瑰嚭
+        /// </summary>
+        public static bool canShowDialog = true;
+
         /// <summary>
         /// 褰撳墠鐢甸噺
         /// </summary>
@@ -609,7 +615,14 @@
                         {
                             if (canOpenNormallyMode)
                             {
-                                Application.RunOnMainThread(() => { NomallyOpenModeInvalidDialog(true); });
+                                Application.RunOnMainThread(() =>
+                                {
+                                    Action<bool> action = (obj) =>
+                                    {
+                                        UpdateNomallyOpenStatus();
+                                    };
+                                    DoorLockCommonInfo.NomallyOpenModeInvalidDialog(doorLock, DoorLockCommonInfo.DoorLockMessType.ServicePush, haveLogicNormallyOpenMode, action);
+                                });
                             }
                         }
                     }
@@ -687,11 +700,11 @@
                                 var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(2);
                                 if (resTemp == 1)
                                 {
-                                    HaveLogicNormallyOpenMode = true;
+                                    haveLogicNormallyOpenMode = true;
                                 }
                                 else if (resTemp == 0)
                                 {
-                                    HaveLogicNormallyOpenMode = false;
+                                    haveLogicNormallyOpenMode = false;
                                 }
                             });
                         }
@@ -784,14 +797,11 @@
             //璁剧疆
             EventHandler<MouseEventArgs> btnFuncSetHander = (sender, e) =>
             {
-                //鎵撳紑鍏朵粬鐣岄潰鏃跺墠绉婚櫎銆愭殏鏃朵笉绉婚櫎銆�
-                //RemoveFromParent();
-
                 var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(currentRoom, doorLock);
                 Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting);
                 Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                 functionSetting.Show();
-
+                canShowDialog = false;
                 functionSetting.devicNameAction += (deviceRename) =>
                 {
                     if (!string.IsNullOrEmpty(deviceRename))
@@ -822,6 +832,7 @@
                 //鍘嗗彶璁板綍 ----   stan
                 var form = new DeviceDoorLock.DoorLockHistoryLogForm();
                 form.AddForm(this.doorLock.DeviceAddr);
+                canShowDialog = false;
             };
             btnRecordFrameLayout.MouseDownEventHandler += handerRecord;
             btnRecord.MouseDownEventHandler += handerRecord;
@@ -848,8 +859,15 @@
                 if (doorLock.IsDoorLockNormallyMode)
                 {
                     if (canOpenNormallyMode)
-                    {
-                        NomallyOpenModeInvalidDialog(false);
+                    {
+                        Application.RunOnMainThread(() =>
+                        {
+                            Action<bool> action = (obj) =>
+                            {
+                                UpdateNomallyOpenStatus();
+                            };
+                            DoorLockCommonInfo.NomallyOpenModeInvalidDialog(doorLock, DoorLockCommonInfo.DoorLockMessType.AppOperate, haveLogicNormallyOpenMode, action);
+                        });
                     }
                     else
                     {
@@ -875,7 +893,14 @@
                 {
                     if (doorLock.IsDoorLockNormallyMode)
                     {
-                        NomallyOpenModeInvalidDialog();
+                        Application.RunOnMainThread(() =>
+                        {
+                            Action<bool> action = (obj) =>
+                            {
+                                UpdateNomallyOpenStatus();
+                            };
+                            DoorLockCommonInfo.NomallyOpenModeInvalidDialog(doorLock, DoorLockCommonInfo.DoorLockMessType.AppOperate, haveLogicNormallyOpenMode, action);
+                        });
                     }
                 }
                 else
@@ -1025,17 +1050,17 @@
         private async void NomallyOpenDialog()
         {
             #region 鍚庣画鐗堟湰
-            //if (UserCenterResourse.UserInfo.AuthorityNo != 1)
-            //{
-            //    this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate));
-            //    return;
-            //}
+            if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+            {
+                this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate));
+                return;
+            }
 
-            //if (!UserCenterResourse.AccountOption.DoorUnLockByRemote)
-            //{
-            //    SystemSecondAuthentication();
-            //    return;
-            //}
+            if (!UserCenterResourse.AccountOption.DoorUnLockByRemote)
+            {
+                SystemSecondAuthentication();
+                return;
+            }
 
             action = () =>
             {
@@ -1062,12 +1087,10 @@
                     doorLock.IsDoorLockNormallyMode = w;
                     ///鐣欑粰寰愭鐢ㄧ殑
                     UpdateNomallyOpenStatus();
-                };
-            };
-            //HdlCheckLogic.Current.CheckSecondarySecurity(action);
-            #endregion
-
-
+                };
+            };
+            HdlCheckLogic.Current.CheckSecondarySecurity(action);
+            #endregion 
         }
 
         /// <summary>
@@ -1075,6 +1098,11 @@
         /// </summary>
         public void NomallyOpenModeInvalidDialog(bool IsFromReport = false)
         {
+            if (!canShowDialog)
+            {
+                return;
+            }
+
             if (UserCenterResourse.UserInfo.AuthorityNo != 1)
             {
                 this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate));
@@ -1083,7 +1111,7 @@
             string msg = Language.StringByID(R.MyInternationalizationString.NomallyModeIsCanceled).Replace("{0}", "\r\n");
             var confirm = Language.StringByID(R.MyInternationalizationString.SureCancel);
             var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.NomallyOpenMode, msg, confirm);
-            if (HaveLogicNormallyOpenMode)
+            if (haveLogicNormallyOpenMode)
             {
                 //鏈夐�昏緫璁剧疆鐨勫脊绐�
                 alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.CancelNomallyOpenModeWithLogic, msg, confirm);
@@ -1101,7 +1129,7 @@
                         UpdateNomallyOpenStatus();
                     });
                     //鍒犻櫎宸茬粡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫
-                    if (HaveLogicNormallyOpenMode)
+                    if (haveLogicNormallyOpenMode)
                     {
                         var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
                         //if (resTemp == 3)
@@ -1129,7 +1157,7 @@
                     //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑�
                     Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
                     //鍏堝垹闄ゅ凡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫
-                    if (HaveLogicNormallyOpenMode)
+                    if (haveLogicNormallyOpenMode)
                     {
                         var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
                         //if (resTemp == 3)
@@ -1206,7 +1234,7 @@
                     });
 
                     //鍒犻櫎宸茬粡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫
-                    if (HaveLogicNormallyOpenMode)
+                    if (haveLogicNormallyOpenMode)
                     {
                         var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
                         //if (resTemp == 3)
@@ -1245,7 +1273,7 @@
                             UpdateNomallyOpenStatus();
                         });
                         //鍒犻櫎璁剧疆甯稿紑妯″紡鍒涘缓鐨勯�昏緫
-                        if (HaveLogicNormallyOpenMode)
+                        if (haveLogicNormallyOpenMode)
                         {
                             var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
                             //鍥犱负鐩墠鏈哄埗闂锛岄�昏緫缁忓父澶辫触锛屾墍浠ヤ笉鎻愮ず锛屽悗鏈熸満鍒惰鏀癸紝閲嶆柊鍋氫竴涓繖涓晫闈�

--
Gitblit v1.8.0