From e2cd94abacc0101af8d0db7fed3a785c1a045b5d Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 07 五月 2020 09:28:51 +0800
Subject: [PATCH] 上传

---
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs |  141 +++++++++++++++++++----------------------------
 1 files changed, 57 insertions(+), 84 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
index 6b5ed4f..5673d8f 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
@@ -218,7 +218,7 @@
 
             ClickHandle();
 
-            if (doorLock.IsOnline == 1)
+            if (Common.LocalDevice.Current.CheckDeviceIsOnline(doorLock) == true)
             {
                 ReadDoorLockUserInfo();
             }
@@ -605,15 +605,11 @@
                         {
                             return;
                         }
-                        string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
-                        if (doorLock.IsDoorLockNormallyMode.ContainsKey(key))
+                        if (doorLock.IsDoorLockNormallyMode)
                         {
-                            if (doorLock.IsDoorLockNormallyMode[key] == true)
-                            {
-                                if (canOpenNormallyMode)
-                                {
-                                    Application.RunOnMainThread(() => { NomallyOpenModeInvalidDialog(true); });
-                                }
+                            if (canOpenNormallyMode)
+                            {
+                                Application.RunOnMainThread(() => { NomallyOpenModeInvalidDialog(true); });
                             }
                         }
                     }
@@ -849,20 +845,11 @@
             //寮�閿佷簨浠�
             EventHandler<MouseEventArgs> hander1 = async (sender, e) =>
             {
-
-                string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
-                if (doorLock.IsDoorLockNormallyMode.ContainsKey(key))
+                if (doorLock.IsDoorLockNormallyMode)
                 {
-                    if (doorLock.IsDoorLockNormallyMode[key] == true)
-                    {
-                        if (canOpenNormallyMode)
-                        {
-                            NomallyOpenModeInvalidDialog(false);
-                        }
-                        else
-                        {
-                            OpenDoorLockHandle(progressButton, btnDoorLockPic, btnStatus);
-                        }
+                    if (canOpenNormallyMode)
+                    {
+                        NomallyOpenModeInvalidDialog(false);
                     }
                     else
                     {
@@ -886,13 +873,9 @@
             {
                 if (canOpenNormallyMode)
                 {
-                    var key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
-                    if (doorLock.IsDoorLockNormallyMode.ContainsKey(key))
+                    if (doorLock.IsDoorLockNormallyMode)
                     {
-                        if (doorLock.IsDoorLockNormallyMode[key] == true)
-                        {
-                            NomallyOpenModeInvalidDialog();
-                        }
+                        NomallyOpenModeInvalidDialog();
                     }
                 }
                 else
@@ -1042,63 +1025,57 @@
         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 = () =>
-            //{
-            //    //绯荤粺瀵嗙爜鏀寔鎿嶄綔闂ㄩ攣鍚庯紝璋冪敤娓╁眳鍩庣殑鐣岄潰銆愬父寮�鑷姩鍖栥��
-            //    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();
-            //    functionSetting.aaaAction = () =>
-            //   {
-            //       UpdateNomallyOpenStatus();
-            //   };
-            //};
-            //HdlCheckLogic.Current.CheckSecondarySecurity(action);
+            action = () =>
+            {
+                //绯荤粺瀵嗙爜鏀寔鎿嶄綔闂ㄩ攣鍚庯紝璋冪敤娓╁眳鍩庣殑鐣岄潰銆愬父寮�鑷姩鍖栥��
+                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();
+                // functionSetting.aaaAction = () =>
+                //{
+                //    UpdateNomallyOpenStatus();
+                //};
+            };
+            HdlCheckLogic.Current.CheckSecondarySecurity(action);
             #endregion 
 
             #region 鏆傛椂鐗堟湰 (鏈�缁堝幓鎺夛級
             if (!btnNormallyOpen.IsSelected)
             {
                 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 = () =>
-                {
-                    //绯荤粺瀵嗙爜鏀寔鎿嶄綔闂ㄩ攣鍚庯紝璋冪敤闂俯灞呭煄鐨勭晫闈€�愬父寮�鑷姩鍖栥��
-                    //Action nomallyOpenModeStartAction = () =>
-                    //{
-                    //    UpdateNomallyOpenStatus();
-                    //};
-
+                }
+
+                action = () =>
+                {
                     string msg = Language.StringByID(R.MyInternationalizationString.SetDoorLockNomallyOpen).Replace("{0}", "\r\n");
                     var confirm = Language.StringByID(R.MyInternationalizationString.Confrim);
                     var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msg, confirm);
-                    alert.Show();
+                    alert.Show();
 
-                    alert.ConfirmClickEvent += async () =>
-                    {
+                    alert.ConfirmClickEvent += async () =>
+                    {
                         Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
                         var result = await doorLock.SetNormallyOpenModeFuncAsync(true);
                         if (result == null || result.defaultControlResponseData == null)
@@ -1120,20 +1097,20 @@
 
                             //姣忔閲嶆柊璁剧疆甯稿紑锛岄粯璁ゆ椂闂撮兘鏄�12灏忔椂
                             DoorLockCommonInfo.NormallyOpenModeInvalidTime = 12;
-                            DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true);
-                            Application.RunOnMainThread(() =>
+                            DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true);
+                            Application.RunOnMainThread(() =>
                             {
-                                UpdateNomallyOpenStatus();
+                                UpdateNomallyOpenStatus();
                                 CommonPage.Loading.Hide();
                             });
 
                             //甯稿紑妯″紡寮�鍚彁绀�
                             AlreadyOpenNormallyMode();
                         }
-                    };
+                    };
 
-                };
-                HdlCheckLogic.Current.CheckSecondarySecurity(action);
+                };
+                HdlCheckLogic.Current.CheckSecondarySecurity(action);
             }
             else
             {
@@ -1415,12 +1392,7 @@
                 btnNormallyOpenFrameLayout.Width = Application.GetRealWidth(0);
                 return;
             }
-            string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
-            if (!doorLock.IsDoorLockNormallyMode.ContainsKey(key))
-            {
-                return;
-            }
-            if (doorLock.IsDoorLockNormallyMode[key] == true)
+            if (doorLock.IsDoorLockNormallyMode)
             {
                 btnNormallyOpen.IsSelected = true;
                 btnDoorLockPic.IsSelected = true;
@@ -1428,7 +1400,7 @@
                 btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.DoorLockOpen);
 
             }
-            else if (doorLock.IsDoorLockNormallyMode[key] == false)
+            else if (!doorLock.IsDoorLockNormallyMode)
             {
                 btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.CLose);
                 btnDoorLockPic.IsSelected = false;
@@ -1517,6 +1489,7 @@
                 CommonPage.Instance.IsDrawerLockMode = false;
             }
             ZbGateway.StatusList.Remove(this);
+            DoorLockCommonInfo.LogicAction = null;
             base.RemoveFromParent();
         }
         #endregion

--
Gitblit v1.8.0