From 4ce5177289b1d34e467de9d8790836559cc5a09e Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 18 十一月 2019 18:06:28 +0800
Subject: [PATCH] 合并了全部的代码

---
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs |  123 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 118 insertions(+), 5 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
index f61b0ff..2d57e62 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
@@ -109,19 +109,107 @@
         }
 
         /// <summary>
-        ///  鑾峰彇闂ㄩ攣鍖呭惈璁惧淇℃伅鍜岃处鎴蜂俊鎭�
+        ///  鑾峰彇鎵�鏈夎处鎴峰拰闂ㄩ攣鍖呭惈鐨勪俊鎭�
+        /// </summary>
+        public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetDoorLockAllAcountUserlist(ZigBee.Device.DoorLock doorLock)
+        {
+            return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>>>)(async () =>
+            {
+                doorLock.localDoorLockUserList.Clear();
+                //1銆佽鍙栭棬閿佷俊鎭�
+                var getDoorLockInfo = await doorLock.GetDoorlockUserInfoAsync();
+
+                //鏈湴闂ㄩ攣鍒楄〃澶勭悊
+                foreach (var curAccountObj in doorLock.localAllAccountList)
+                {
+                    if (getDoorLockInfo == null)
+                    {
+                        doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = true;
+                    }
+                    else
+                    {
+                        doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = false;
+                    }
+                }
+                // 鐢ㄦ埛淇℃伅澶勭悊
+                if (getDoorLockInfo != null && getDoorLockInfo.doorLockUserDetailData != null)
+                {
+                    var dataList = getDoorLockInfo.doorLockUserDetailData.UserObjList;
+                    foreach (var doorData in dataList)
+                    {
+                        var localDoorLockObj1 = new ZigBee.Device.DoorLock.LocaDoorLockObj()
+                        {
+                            UserID = doorData.UserId,
+                            UnlockType = doorData.UserType
+                        };
+                        if ((doorLock.localDoorLockUserList.ContainsKey(localDoorLockObj1.UserID)) == false)
+                        {
+                            doorLock.localDoorLockUserList.Add(localDoorLockObj1.UserID, localDoorLockObj1);
+                        }
+                    }
+                    //2銆佽鍙栦簯绔棬閿佷俊鎭�  
+                    var getDoorLockInfoList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllAccountInfolist(doorLock);
+                    if (getDoorLockInfoList != null)
+                    {
+                        foreach (var curDoorLockUser in getDoorLockInfoList.PageData)
+                        {
+                            if (curDoorLockUser.DoorLockLocalUserId == null || curDoorLockUser.DoorLockLocalUserId == "")
+                            {
+                                continue;
+                            }
+                            if (doorLock.localDoorLockUserList.ContainsKey(int.Parse(curDoorLockUser.DoorLockLocalUserId)))
+                            {
+                                var doorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
+                                doorLockObj.UserID = int.Parse(curDoorLockUser.DoorLockLocalUserId);
+                                doorLockObj.UnlockType = curDoorLockUser.OpenLockMode;
+                                doorLockObj.PrimaryId = curDoorLockUser.Id;
+                                doorLockObj.EntryTime = curDoorLockUser.EntryTime;
+                                doorLockObj.UserName = curDoorLockUser.UserIdRemarks;
+                                doorLockObj.ConnectedAccount = curDoorLockUser.CloudAccountId;
+                                doorLock.localDoorLockUserList[int.Parse(curDoorLockUser.DoorLockLocalUserId)] = doorLockObj;
+                            }
+                            else
+                            {
+                                if (curDoorLockUser.DoorLockLocalUserId != null)
+                                {
+                                    //闂ㄩ攣涓病鏈夛紝浜戠鏈夌敤鎴稩D锛屽悗鍙板垹闄や簯绔繖浜汭D
+                                    var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData();
+                                    if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                                    {
+                                        deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                                        deleteDoorLockData.IsOtherAccountCtrl = true;
+                                    }
+                                    if (doorLock.DeviceAddr != null)
+                                    {
+                                        deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                                    }
+                                    deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.DoorLockLocalUserId;
+                                    deleteDoorLockData.PrimaryId = curDoorLockUser.Id;
+                                    deleteDoorLockData.DelDoorLockDelType = 2;
+                                    var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData);
+                                }
+                            }
+                        }
+                        doorLock.ReSave();
+                    }
+                }
+                return doorLock.localDoorLockUserList;
+            }));
+        }
+
+        /// <summary>
+        ///  鑾峰彇褰撳墠璐︽埛涓棬閿佷俊鎭�
         /// </summary>
         public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetLocaDoorLocklist(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes curAccountObj)
         {
             return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>>>)(async () =>
              {
-                 //  璇诲彇璁惧涓殑淇℃伅
+                 //璇诲彇璁惧涓殑淇℃伅
                  doorLock.localDoorLockUserList.Clear();
                  var getDoorLockInfo = await doorLock.GetDoorlockUserInfoAsync();
                  if (getDoorLockInfo == null)
                  {
                      doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = true;
-
                  }
                  else
                  {
@@ -197,7 +285,7 @@
         }
 
         /// <summary>
-        ///  鑾峰彇浜戠瀛樺偍鐨勯棬閿佷俊鎭�
+        ///  鑾峰彇褰撳墠璐︽埛涓簯绔瓨鍌ㄧ殑闂ㄩ攣淇℃伅
         /// </summary>
         public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetCloudLocalDoorLocklist(ZigBee.Device.DoorLock doorLock, string subAccountDistributedMark)
         {
@@ -248,7 +336,7 @@
         }
 
         /// <summary>
-        ///  鑾峰彇浜戠瀛樺偍鐨勫綋鍓嶈处鎴风殑闂ㄩ攣淇℃伅
+        ///  鑾峰彇浜戠瀛樺偍鐨勫綋鍓嶈处鎴风殑闂ㄩ攣淇�
         /// </summary>
         public static async System.Threading.Tasks.Task<List<ZigBee.Device.DoorLock.CloudDoorLockObj>> GetAccountDoorLockUserList(ZigBee.Device.DoorLock doorLock, string subAccountDistributedMark)
         {
@@ -304,6 +392,31 @@
         }
 
         /// <summary>
+        ///  鑾峰彇褰撳墠璐︽埛闂ㄩ攣鐨勬墍鏈変俊鎭�
+        /// </summary>
+        public static async System.Threading.Tasks.Task<ZigBee.Device.DoorLock.GetDoorLockDataRes> GetDoorLockAllAccountInfolist(ZigBee.Device.DoorLock doorLock)
+        {
+            return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<ZigBee.Device.DoorLock.GetDoorLockDataRes>>)(async () =>
+            {
+                //  璇诲彇浜戠闂ㄩ攣璁惧涓殑淇℃伅
+                var localDoorLockObj = new ZigBee.Device.DoorLock.GetDoorLockData() { };
+
+                if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                {
+                    localDoorLockObj.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                    localDoorLockObj.IsOtherAccountCtrl = true;
+                }
+                if (doorLock.DeviceAddr != null)
+                {
+                    localDoorLockObj.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                }
+
+                var getDoorLockInfoList = await ZigBee.Device.DoorLock.GetDoorLockInfoFromServer("DoorLock/GetDoorLockPager", localDoorLockObj);
+                return getDoorLockInfoList;
+            }));
+        }
+
+        /// <summary>
         ///  鑾峰彇浜戠瀛樺偍鐨勯棬閿佹垚鍛樹俊鎭�
         /// </summary>
         public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetLocaDoorLockAccountlist(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes curAccountObj)

--
Gitblit v1.8.0