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 |  204 ++++++++++++++++++++++----------------------------
 1 files changed, 91 insertions(+), 113 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
index 39a423b..90e4420 100644
--- 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>
@@ -182,7 +188,7 @@
         #endregion
 
         /// <summary>
-        /// UI鏄剧ず
+        /// UI鏄剧ず 
         /// </summary>
         public void Show()
         {
@@ -510,7 +516,7 @@
                 TextAlignment = TextAlignment.CenterLeft,
             };
             btnCurrentFrameLayout.AddChidren(btnCurrentRoomName);
-            #endregion
+            #endregion 
         }
 
         #region 闊抽噺寮圭獥
@@ -565,7 +571,7 @@
                 ThumbImagePath = "DoorLock/UnLockButton.png",//杩涘害鏉℃寜閽浘鏍�
                 ThumbImageHeight = Application.GetRealHeight(81),//杩涘害鏉℃寜閽浘鏍囩殑楂樺害锛堥粯璁ゆ鏂瑰舰锛氬鍜岄珮涓�鏍凤級
                 ProgressTextColor = ZigbeeColor.Current.LogicBtnCancelColor,
-                ProgressTextSize = 12,//鏄剧ず鐧惧垎姣斿瓧浣撳ぇ灏�
+                ProgressTextSize = 12,//鏄剧ず鐧惧垎姣斿瓧浣撳ぇ灏� 
                 SeekBarViewHeight = Application.GetRealHeight(17),//杩涘害鏉$殑瀹藉害
                 Progress = currentVolume,
             };
@@ -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;
                                 }
                             });
                         }
@@ -708,7 +721,7 @@
                     canVolume = DoorLockCommonInfo.CanVolume(doorLock);
                     if (canVolume)
                     {
-                        //璇诲彇闊抽噺
+                        //璇诲彇闊抽噺 
                         var resultRes = await doorLock.GetVolumeAsync();
                         if (resultRes == null || resultRes.volumeResponseData == null)
                         {
@@ -764,9 +777,9 @@
 
         #endregion
 
-        #region 鍏叡浜嬩欢澶勭悊
+        #region 鍏叡浜嬩欢澶勭悊 
         /// <summary>
-        /// 浜嬩欢澶勭悊
+        /// 浜嬩欢澶勭悊 
         /// </summary>
         public void ClickHandle()
         {
@@ -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;
@@ -832,11 +843,11 @@
                 btnCollect.IsSelected = !btnCollect.IsSelected;
                 if (btnCollect.IsSelected)
                 {
-                    HdlRoomLogic.Current.AddLoveDevice(deviceUI);//鏀惰棌
+                    HdlRoomLogic.Current.AddLoveDevice(deviceUI);//鏀惰棌 
                 }
                 else
                 {
-                    HdlRoomLogic.Current.DeleteLoveDevice(deviceUI);//鍙栨秷鏀惰棌
+                    HdlRoomLogic.Current.DeleteLoveDevice(deviceUI);//鍙栨秷鏀惰棌 
                 }
             };
             btnCollectFrameLayout.MouseDownEventHandler += handerCollect;
@@ -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
@@ -943,7 +968,7 @@
         }
         #endregion
 
-        #region 闊抽噺
+        #region 闊抽噺 
         /// <summary>
         /// 鏇存柊闊抽噺
         /// </summary>
@@ -1018,7 +1043,7 @@
         }
         #endregion
 
-        #region 甯稿紑妯″紡
+        #region 甯稿紑妯″紡  
         /// <summary>
         /// 甯稿紑妯″紡澶勭悊
         /// </summary>
@@ -1040,84 +1065,32 @@
             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();
-                //};
+                if (doorLock == null)
+                {
+                    ///闃叉鎶涘紓甯�
+                    return;
+                }
+                ///澶囨敞锛歐JC鐨�
+                Shared.Phone.Device.Logic.Send.CurrentDoorLock = doorLock;
+                ///杩涙潵鍒锋柊涓�娆¤澶囧垪琛紱
+                Common.Logic.LogicDviceList.Clear();
+                if (Common.Logic.LogicDviceList.Count == 0)
+                {
+                    Common.Logic.LogicDviceList.AddRange(LocalDevice.Current.listAllDevice.ToArray());
+                }
+                var addLogicPage = new Shared.Phone.Device.Logic.SoneLogicList();
+                UserView.HomePage.Instance.AddChidren(addLogicPage);
+                UserView.HomePage.Instance.PageIndex += 1;
+                addLogicPage.Show();
+                addLogicPage.action += (w) =>
+                {
+                    doorLock.IsDoorLockNormallyMode = w;
+                    ///鐣欑粰寰愭鐢ㄧ殑
+                    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;
-                }
-
-                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.ConfirmClickEvent += async () =>
-                    {
-                        Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
-                        var result = await doorLock.SetNormallyOpenModeFuncAsync(true);
-                        if (result == null || result.defaultControlResponseData == null)
-                        {
-                            string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime);
-                            this.ShowTipMsg(msg0);
-                            return;
-                        }
-                        if (result.defaultControlResponseData.status != 0)
-                        {
-                            string msg1 = Language.StringByID(R.MyInternationalizationString.OpenNormallyOpenModeFailed);
-                            this.ShowTipMsg(msg1);
-                            return;
-                        }
-                        else
-                        {
-                            //娣诲姞App寮�鍚父寮�妯″紡鐨勫巻鍙茶褰�
-                            HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(this.doorLock, 9001, string.Empty);
-
-                            //姣忔閲嶆柊璁剧疆甯稿紑锛岄粯璁ゆ椂闂撮兘鏄�12灏忔椂
-                            DoorLockCommonInfo.NormallyOpenModeInvalidTime = 12;
-                            DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true);
-                            Application.RunOnMainThread(() =>
-                            {
-                                UpdateNomallyOpenStatus();
-                                CommonPage.Loading.Hide();
-                            });
-
-                            //甯稿紑妯″紡寮�鍚彁绀�
-                            AlreadyOpenNormallyMode();
-                        }
-                    };
-
-                };
-                HdlCheckLogic.Current.CheckSecondarySecurity(action);
-            }
-            else
-            {
-                NomallyOpenModeInvalidDialog();
-            }
-
-            #endregion
+            #endregion 
         }
 
         /// <summary>
@@ -1125,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));
@@ -1133,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);
@@ -1144,14 +1122,14 @@
             {
                 if (IsFromReport)
                 {
-                    //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑堬紝app榛樿浜嗏�滃父寮�妯″紡鈥濊鍙栨秷
+                    //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑堬紝app榛樿浜嗏�滃父寮�妯″紡鈥濊鍙栨秷 
                     DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false);
                     Application.RunOnMainThread(() =>
                     {
                         UpdateNomallyOpenStatus();
                     });
                     //鍒犻櫎宸茬粡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫
-                    if (HaveLogicNormallyOpenMode)
+                    if (haveLogicNormallyOpenMode)
                     {
                         var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
                         //if (resTemp == 3)
@@ -1163,7 +1141,7 @@
                 }
                 else
                 {
-                    //app榛樿鈥滃父寮�妯″紡鈥濊繕鏄紑鍚�
+                    //app榛樿鈥滃父寮�妯″紡鈥濊繕鏄紑鍚� 
                     DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true);
                     Application.RunOnMainThread(() =>
                     {
@@ -1179,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)
@@ -1215,14 +1193,14 @@
                     }
                     else
                     {
-                        //淇濇寔鈥滃父寮�鎴愬姛鈥�
+                        //淇濇寔鈥滃父寮�鎴愬姛鈥� 
                         DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true);
                         Application.RunOnMainThread(() =>
                         {
                             UpdateNomallyOpenStatus();
                         });
 
-                        //鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫
+                        //鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 
                         var resu = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
                         //if (!resu)
                         //{
@@ -1235,7 +1213,7 @@
                 }
                 else
                 {
-                    //app鎿嶄綔涓嶅彇娑堚�滃父寮�妯″紡鈥�
+                    //app鎿嶄綔涓嶅彇娑堚�滃父寮�妯″紡鈥� 
                     DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true);
                     Application.RunOnMainThread(() =>
                     {
@@ -1248,7 +1226,7 @@
             {
                 if (IsFromReport)
                 {
-                    //涓婃姤闂ㄩ攣鈥滃父寮�妯″紡鈥濆凡缁忓彇娑堬紝鐜板湪app纭鈥滃父寮�妯″紡鈥濆彇娑�
+                    //涓婃姤闂ㄩ攣鈥滃父寮�妯″紡鈥濆凡缁忓彇娑堬紝鐜板湪app纭鈥滃父寮�妯″紡鈥濆彇娑� 
                     DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false);
                     Application.RunOnMainThread(() =>
                     {
@@ -1256,7 +1234,7 @@
                     });
 
                     //鍒犻櫎宸茬粡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫
-                    if (HaveLogicNormallyOpenMode)
+                    if (haveLogicNormallyOpenMode)
                     {
                         var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
                         //if (resTemp == 3)
@@ -1288,14 +1266,14 @@
                         //娣诲姞App寮�鍚父寮�妯″紡鐨勫巻鍙茶褰�
                         HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(this.doorLock, 9002, string.Empty);
 
-                        //app纭鍙栨秷鈥滃父寮�妯″紡鈥濇垚鍔�
+                        //app纭鍙栨秷鈥滃父寮�妯″紡鈥濇垚鍔� 
                         DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false);
                         Application.RunOnMainThread(() =>
                         {
                             UpdateNomallyOpenStatus();
                         });
                         //鍒犻櫎璁剧疆甯稿紑妯″紡鍒涘缓鐨勯�昏緫
-                        if (HaveLogicNormallyOpenMode)
+                        if (haveLogicNormallyOpenMode)
                         {
                             var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
                             //鍥犱负鐩墠鏈哄埗闂锛岄�昏緫缁忓父澶辫触锛屾墍浠ヤ笉鎻愮ず锛屽悗鏈熸満鍒惰鏀癸紝閲嶆柊鍋氫竴涓繖涓晫闈�
@@ -1329,7 +1307,7 @@
             alertNomallyModeIsTurnOn.Show();
             alertNomallyModeIsTurnOn.MsgControlClickEvent += async () =>
             {
-                //榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫
+                //榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 
                 var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
                 //if (!res)
                 //{
@@ -1357,7 +1335,7 @@
         /// </summary>
         private void NomallyOpenModeInvalidTimeDialog()
         {
-            //澶辨晥璁剧疆
+            //澶辨晥璁剧疆 
             string msgTimeInValidSetting = Language.StringByID(R.MyInternationalizationString.DoorLockOpenAllTheTime);
             var timeConfrim = Language.StringByID(R.MyInternationalizationString.Confrim);
             var alertTimeInValidSetting = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.InValid, msgTimeInValidSetting, timeConfrim);
@@ -1368,7 +1346,7 @@
                  //甯稿紑妯″紡澶辨晥鏃堕棿璁剧疆鎴愬姛
                  var temp = int.Parse(obj);
                  DoorLockCommonInfo.NormallyOpenModeInvalidTime = temp;
-                 //榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫
+                 //榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 
                  var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
                  if (!res)
                  {
@@ -1410,7 +1388,7 @@
         }
         #endregion
 
-        #region 寮�閿佸鐞�
+        #region 寮�閿佸鐞� 
         /// <summary>
         /// 寮�閿佸鐞�
         /// </summary>

--
Gitblit v1.8.0