From ed2f4a97aa48cdb4a013d2a389877f52eb3eccdf Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期二, 29 十月 2019 13:15:59 +0800
Subject: [PATCH] Merge branch 'DEV_GXC' of http://172.16.1.23:6688/r/~xm/HomeApp into DEV_GXC

---
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs |   98 +++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 91 insertions(+), 7 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs
index 9b7e97c..0b5d4d8 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserManagement.cs
@@ -27,6 +27,89 @@
                 //var dev = common as Panel;
             });
         }
+        //浠庨棬閿佽淇℃伅
+        void ReadDoorLockDeviceUserInfo()
+        {
+            System.Threading.Tasks.Task.Run(async () =>
+            {
+                Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); });
+                try
+                {
+                    var getDoorLockInfo = await doorLock.GetDoorlockUserInfoAsync();
+                    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);
+                            }
+                        }
+                    }
+                }
+                catch { }
+                finally
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        CommonPage.Loading.Hide();
+                    });
+                }
+            });
+        }
+        //浠庢湇鍔″櫒璇讳俊鎭�
+        void ReadDoorLockServerUserInfo(Shared.Phone.UserCenter.MemberInfoRes curAccountObj)
+        {
+            System.Threading.Tasks.Task.Run(async () =>
+            {
+                Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); });
+                try
+                {
+                    //  璇诲彇浜戠闂ㄩ攣璁惧涓殑淇℃伅
+                    var localDoorLockObj = new ZigBee.Device.DoorLock.GetDoorLockData() { };
+
+                    localDoorLockObj.CloudAccountId = curAccountObj.SubAccountDistributedMark;
+                    if (doorLock.DeviceAddr != null)
+                    {
+                        localDoorLockObj.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                    }
+
+                    var getDoorLockInfoList = await ZigBee.Device.DoorLock.GetDoorLockInfoFromServer("App/GetDoorLockPager", localDoorLockObj);
+                    if (getDoorLockInfoList != null)
+                    {
+                        foreach (var curDoorLockUser in getDoorLockInfoList.PageData)
+                        {
+                            if (doorLock.localDoorLockUserList.ContainsKey(int.Parse(curDoorLockUser.DoorLockLocalUserId)))
+                            {
+                                doorLock.localDoorLockUserList.Remove(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.Add(int.Parse(curDoorLockUser.DoorLockLocalUserId), doorLockObj);
+                        }
+                    }
+                }
+                catch { }
+                finally
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        CommonPage.Loading.Hide();
+                    });
+                }
+            });
+        }
 
 
         /// 鏋勯�犲嚱鏁�
@@ -97,12 +180,7 @@
 
         async void MidFrameLayoutContent()
         {
-            List<Shared.Phone.UserCenter.MemberInfoRes> SubAccounList = null;
-            if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
-            {
-                SubAccounList = await ZigBee.Device.DoorLock.GetSubAccountByDistributedMark();
-            }
-
+            var SubAccounList = await ZigBee.Device.DoorLock.GetSubAccountByDistributedMark();
             var masterAccount = new Shared.Phone.UserCenter.MemberInfoRes();
             masterAccount.Account = Shared.Common.Config.Instance.Account;
             masterAccount.AccountType = Shared.Common.Config.Instance.AccountType;
@@ -110,7 +188,6 @@
             masterAccount.UserName = UserCenterResourse.UserInfo.UserName;
             localAccountList.Add(masterAccount);
             localAccountList.AddRange(SubAccounList);
-
             var bodyView = new VerticalScrolViewLayout()
             {
             };
@@ -189,6 +266,13 @@
                         Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                         masterManagementPage.Show();
                     }
+                    else if (currentIndex == 1)
+                    {
+                        var userDoorLockPage = new UserDoorLockPage(doorLock, currentAccount);
+                        Shared.Phone.UserView.HomePage.Instance.AddChidren(userDoorLockPage);
+                        Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+                        userDoorLockPage.Show();
+                    }
                     else
                     {
                         var memberFrozenPage = new Shared.Phone.UserCenter.DoorLock.MemberFrozenPage(doorLock, currentAccount);

--
Gitblit v1.8.0