From 9c16d3614d9b88c637f967518a329f239fcd3aaf Mon Sep 17 00:00:00 2001
From: lss <316519258@qq.com>
Date: 星期五, 12 六月 2020 09:22:04 +0800
Subject: [PATCH] 2020.06.12

---
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs |   63 ++++++++++++++++++++-----------
 1 files changed, 40 insertions(+), 23 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
index 801c052..61e1041 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
@@ -23,6 +23,12 @@
         /// </summary>
         public static DateTime DoorlockZoneTime = DateTime.Now;
         /// <summary>
+        /// 鎵�鏈夐棬閿佷腑鐨勫父寮�妯″紡鍊糩鐢ㄤ簬鎺ㄩ�佹煡璇紝鎻愮ず闂ㄩ攣澶辨晥锛�
+        /// keys:闂ㄩ攣mac+epoint value:鏄惁甯稿紑妯″紡
+        /// ture:甯稿紑锛� false:鍏抽棴
+        /// </summary>
+        public static Dictionary<string, bool?> DoorLockNormallyMode = new Dictionary<string, bool?> { };
+        /// <summary>
         /// 甯稿紑妯″紡鎵ц鏃堕棿
         /// </summary>
         public static int NormallyOpenModeInvalidTime = 12;
@@ -155,6 +161,14 @@
         public static void NormallyOpenModeValue(ZigBee.Device.DoorLock doorLock, bool value)
         {
             doorLock.IsDoorLockNormallyMode = value;
+            if (DoorLockCommonInfo.DoorLockNormallyMode.ContainsKey(doorLock.DeviceAddr + doorLock.DeviceEpoint))
+            {
+                DoorLockCommonInfo.DoorLockNormallyMode[doorLock.DeviceAddr + doorLock.DeviceEpoint] = value;
+            }
+            else
+            {
+                DoorLockCommonInfo.DoorLockNormallyMode.Add(doorLock.DeviceAddr + doorLock.DeviceEpoint, value);
+            }
         }
 
         /// <summary>
@@ -162,9 +176,10 @@
         /// </summary>
         /// <param name="doorLock">褰撳墠闂ㄩ攣</param>
         /// <param name="doorLockMessType">瀵艰嚧闂ㄩ攣澶辨晥鐨勬搷浣滅被鍨�</param>
-        /// <param name="haveLogic">缃戝叧涓槸鍚﹀瓨鍦ㄩ�昏緫甯稿紑妯″紡</param>
+        /// <param name="haveLogic">缃戝叧涓槸鍚﹀瓨鍦ㄩ�昏緫甯稿紑妯″紡</param> 
         /// <param name="action">鍥炶皟澶勭悊鏇存柊鍐呭</param>
-        public static async void NomallyOpenModeInvalidDialog(ZigBee.Device.DoorLock doorLock, DoorLockMessType doorLockMessType, bool haveLogic, Action<bool> action = null)
+        /// <param name="type">1:纭甯稿紑妯″紡宸茬粡寮�鍚紱0:甯稿紑妯″紡澶辨晥鎻愮ず</param>
+        public static async void NomallyOpenModeInvalidDialog(ZigBee.Device.DoorLock doorLock, DoorLockMessType doorLockMessType, bool haveLogic, Action<bool> action = null, int type = 0)
         {
             //甯稿紑妯″紡鍙兘涓讳汉鎿嶄綔
             if (UserCenterResourse.UserInfo.AuthorityNo != 1)
@@ -202,7 +217,7 @@
                     if (haveLogic)
                     {
                         //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫
-                        var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
+                        var resTemp1 = await Shared.Phone.Device.Logic.SkipView.DelAllLogic(doorLock);
                     }
                 }
                 else
@@ -294,7 +309,7 @@
                     if (haveLogic)
                     {
                         //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫
-                        var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
+                        var resTemp1 = await Shared.Phone.Device.Logic.SkipView.DelAllLogic(doorLock);
                     }
                 }
                 else
@@ -343,7 +358,7 @@
                         if (haveLogic)
                         {
                             //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫
-                            var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
+                            var resTemp1 = await Shared.Phone.Device.Logic.SkipView.DelAllLogic(doorLock);
                         }
                         Application.RunOnMainThread(() =>
                         {
@@ -592,26 +607,28 @@
                     var SubAccounListTemp = await ZigBee.Device.DoorLock.GetSubAccountByDistributedMark();
                     var SubAccounListDictionary = new Dictionary<string, Shared.Phone.UserCenter.MemberInfoRes> { };
 
-                    foreach (var member in SubAccounListTemp)
-                    {
-                        //鍒ゆ柇涓�涓处鎴风粦瀹氫簡閭鐨勬儏鍐�
-                        if (SubAccounListDictionary.ContainsKey(member.DistributedMark) == true
-                        || member.Account == UserCenterResourse.UserInfo.Phone
-                        || member.Account == UserCenterResourse.UserInfo.Email)
-                        {
-                            //濡傛灉鏄畠鑷繁鐨勮瘽锛屼笉鏄剧ず,璐︽埛鍜岀粦瀹氱殑閭鍙樉绀哄叾涓箣涓�
-                            continue;
+                    if (SubAccounListTemp != null)
+                    {
+                        foreach (var member in SubAccounListTemp)
+                        {
+                            //鍒ゆ柇涓�涓处鎴风粦瀹氫簡閭鐨勬儏鍐�
+                            if (SubAccounListDictionary.ContainsKey(member.DistributedMark) == true
+                            || member.Account == UserCenterResourse.UserInfo.Phone
+                            || member.Account == UserCenterResourse.UserInfo.Email)
+                            {
+                                //濡傛灉鏄畠鑷繁鐨勮瘽锛屼笉鏄剧ず,璐︽埛鍜岀粦瀹氱殑閭鍙樉绀哄叾涓箣涓�
+                                continue;
+                            }
+                            //鍘绘帀瀛愯处鎴蜂腑鏅�氭垚鍛橈紝鐣欎笅鎷ユ湁绠$悊鍛樻潈闄愮殑鎴愬憳
+                            //锛堝洜涓哄垎閰嶈处鎴风粰鏅�氭垚鍛橈紝鏅�氭垚鍛樺湪app涓笉鑳借繘鍏ヨ澶囩鐞嗛偅閲岋紝鎵�浠ユ病鍙戞煡鐪嬩富浜哄垎閰嶅璐︽埛锛�
+                            if (member.AccountType != 1)
+                            {
+                                continue;
+                            }
+
+                            SubAccounListDictionary.Add(member.DistributedMark, member);
                         }
-                        //鍘绘帀瀛愯处鎴蜂腑鏅�氭垚鍛橈紝鐣欎笅鎷ユ湁绠$悊鍛樻潈闄愮殑鎴愬憳
-                        //锛堝洜涓哄垎閰嶈处鎴风粰鏅�氭垚鍛橈紝鏅�氭垚鍛樺湪app涓笉鑳借繘鍏ヨ澶囩鐞嗛偅閲岋紝鎵�浠ユ病鍙戞煡鐪嬩富浜哄垎閰嶅璐︽埛锛�
-                        if (member.AccountType != 1)
-                        {
-                            continue;
-                        }
-
-                        SubAccounListDictionary.Add(member.DistributedMark, member);
                     }
-
                     foreach (var addMemberID in SubAccounListDictionary.Keys)
                     {
                         SubAccounList.Add(SubAccounListDictionary[addMemberID]);

--
Gitblit v1.8.0