From fe3b2466c68b5db70d38e78039703add3b8b1dfe Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 31 十二月 2020 19:29:43 +0800
Subject: [PATCH] 合并了代码

---
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs |  989 ++++++++++++++++++++++++++++-----------------------------
 1 files changed, 492 insertions(+), 497 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs
index b0cec52..68da839 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs
@@ -11,7 +11,7 @@
         /// 鏋勯�犲嚱鏁�
         /// </summary>
         /// <param name="doorLock"></param>
-        public MemberFrozenPage(ZigBee.Device.DoorLock doorLock, MemberInfoRes accountObj)
+        public MemberFrozenPage(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes accountObj)
         {
             this.doorLock = doorLock;
             this.curAccountObj = accountObj;
@@ -26,7 +26,7 @@
         /// <summary>
         /// 褰撳墠鎴愬憳瀵硅薄v
         /// </summary>
-        MemberInfoRes curAccountObj;
+        Shared.Phone.UserCenter.MemberInfoRes curAccountObj;
         /// <summary>
         /// 鍒锋柊View
         /// </summary>
@@ -42,28 +42,27 @@
             {
                 try
                 {
-                    //鈽嗐優銉笺偗鈽�
-                    //var list = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllAcountUserlist(doorLock);
-                    //var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, curAccountObj.SubAccountDistributedMark);
-                    //var result1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, curAccountObj.SubAccountDistributedMark);
-                    //var result2 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, curAccountObj?.SubAccountDistributedMark);
-                    //if (result2 == true)
-                    //{
-                    //    doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] = true;
-                    //}
-                    //else
-                    //{
-                    //    doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] = false;
-                    //}
-                    //var result3 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, curAccountObj.SubAccountDistributedMark);
-                    //if (result3 == true)
-                    //{
-                    //    doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark] = true;
-                    //}
-                    //else
-                    //{
-                    //    doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark] = false;
-                    //}
+                    var list = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllAcountUserlist(doorLock);
+                    var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, curAccountObj.SubAccountDistributedMark);
+                    var result1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, curAccountObj.SubAccountDistributedMark);
+                    var result2 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, curAccountObj?.SubAccountDistributedMark);
+                    if (result2 == true)
+                    {
+                        doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] = true;
+                    }
+                    else
+                    {
+                        doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] = false;
+                    }
+                    var result3 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, curAccountObj.SubAccountDistributedMark);
+                    if (result3 == true)
+                    {
+                        doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark] = true;
+                    }
+                    else
+                    {
+                        doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark] = false;
+                    }
                 }
                 catch { }
                 finally
@@ -82,7 +81,15 @@
         /// </summary>
         public void Show()
         {
-            string accountTitle = curAccountObj.ShowName;
+            string accountTitle = "";
+            if (curAccountObj.UserName != null)
+            {
+                accountTitle = curAccountObj.UserName;
+            }
+            else
+            {
+                accountTitle = curAccountObj.Account;
+            }
             this.TopFrameLayout(this, accountTitle);
 
             EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
@@ -142,8 +149,8 @@
 
                 var btnRight = new Button()
                 {
-                    Height = Application.GetRealHeight(60),
-                    Width = Application.GetRealWidth(60),
+                    Height = Application.GetMinRealAverage(60),
+                    Width = Application.GetMinRealAverage(60),
                     X = Application.GetRealWidth(72),
                     Y = Application.GetRealHeight(32),
                     UnSelectedImagePath = "DoorLock/RightIcon.png",
@@ -169,52 +176,50 @@
                     btnText.Text = Language.StringByID(R.MyInternationalizationString.FrozenUser);
                     btnRight.X = Application.GetRealWidth(50);
                     btnRight.Y = Application.GetRealHeight(32);
-                    btnRight.Height = Application.GetRealHeight(63);
-                    btnRight.Width = Application.GetRealWidth(104);
+                    btnRight.Height = Application.GetMinRealAverage(63);
+                    btnRight.Width = Application.GetMinRealAverage(104);
                     btnRight.UnSelectedImagePath = "DoorLock/Switch.png";
                     btnRight.SelectedImagePath = "DoorLock/SwitchOn.png";
-                    //鈽嗐優銉笺偗鈽�
-                    //var result = doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark];
-                    //if (result == true)
-                    //{
-                    //    btnRight.IsSelected = true;
-                    //}
-                    //else
-                    //{
-                    //    btnRight.IsSelected = false;
-                    //}
+                    var result = doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark];
+                    if (result == true)
+                    {
+                        btnRight.IsSelected = true;
+                    }
+                    else
+                    {
+                        btnRight.IsSelected = false;
+                    }
                 }
                 else if (i == 2)
                 {
-                    //鈽嗐優銉笺偗鈽�
-                    //if (doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] == false)
-                    //{
-                    //    btnText.Text = Language.StringByID(R.MyInternationalizationString.TempUnlockPermission);
-                    //    btnRight.X = Application.GetRealWidth(50);
-                    //    btnRight.Y = Application.GetRealHeight(32);
-                    //    btnRight.Height = Application.GetRealHeight(63);
-                    //    btnRight.Width = Application.GetRealWidth(104);
-                    //    btnRight.UnSelectedImagePath = "DoorLock/Switch.png";
-                    //    btnRight.SelectedImagePath = "DoorLock/SwitchOn.png";
-                    //    line2.Visible = false;
+                    if (doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] == false)
+                    {
+                        btnText.Text = Language.StringByID(R.MyInternationalizationString.TempUnlockPermission);
+                        btnRight.X = Application.GetRealWidth(50);
+                        btnRight.Y = Application.GetRealHeight(32);
+                        btnRight.Height = Application.GetMinRealAverage(63);
+                        btnRight.Width = Application.GetMinRealAverage(104);
+                        btnRight.UnSelectedImagePath = "DoorLock/Switch.png";
+                        btnRight.SelectedImagePath = "DoorLock/SwitchOn.png";
+                        line2.Visible = false;
 
-                    //    var result1 = doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark];
-                    //    if (result1 == true)
-                    //    {
-                    //        btnRight.IsSelected = true;
-                    //    }
-                    //    else
-                    //    {
-                    //        btnRight.IsSelected = false;
-                    //    }
-                    //}
-                    //else
-                    //{
-                    //    btnText.Width = 0;
-                    //    btnRight.Width = 0;
-                    //    line2.Width = 0;
-                    //    RowView.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMMidFrameLayout;
-                    //}
+                        var result1 = doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark];
+                        if (result1 == true)
+                        {
+                            btnRight.IsSelected = true;
+                        }
+                        else
+                        {
+                            btnRight.IsSelected = false;
+                        }
+                    }
+                    else
+                    {
+                        btnText.Width = 0;
+                        btnRight.Width = 0;
+                        line2.Width = 0;
+                        RowView.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMMidFrameLayout;
+                    }
                 }
 
                 int currentIndex = i;
@@ -288,7 +293,7 @@
             }
 
             string msg = Language.StringByID(R.MyInternationalizationString.GoPersonalCenter);
-            var alert = new ShowMsgControl(ShowMsgType.Confirm, textFreeze, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
+            var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, textFreeze, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
             alert.Show();
             //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
             alert.ConfirmClickEvent += () =>
@@ -300,280 +305,275 @@
                     Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
                     try
                     {
-                        //鈽嗐優銉笺偗鈽�
-                        //var doorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
-                        //var curAccountDoorLockUserList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetAccountDoorLockUserList(doorLock, curAccountObj.SubAccountDistributedMark);
-                        //if (curAccountDoorLockUserList.Count != 0)
-                        //{
-                        //    //淇敼浜戠瀛樺偍淇℃伅
-                        //    operateConunt = curAccountDoorLockUserList.Count;
-                        //    var tempGroupId = new List<List<int>>();
-                        //    var tempUserIdList = new List<int> { };
-                        //    foreach (var curDoorLockUser in curAccountDoorLockUserList)
-                        //    {
-                        //        // 璐︽埛涓病鏈夐棬閿佺敤鎴�
-                        //        if (string.IsNullOrEmpty(curDoorLockUser.DoorLockLocalUserId))
-                        //        {
-                        //        }
-                        //        else
-                        //        {
-                        //            if (tempUserIdList.Count == 9)
-                        //            {
-                        //                tempGroupId.Add(tempUserIdList);
-                        //                tempUserIdList = new List<int>();
-                        //            }
-                        //            tempUserIdList.Add(int.Parse(curDoorLockUser.DoorLockLocalUserId));
-                        //        }
-                        //    }
-                        //    tempGroupId.Add(tempUserIdList);
-                        //    //鎵归噺鍐荤粨闂ㄩ攣涓殑璐︽埛
-                        //    ZigBee.Device.DoorLock.AccessType accessType;
-                        //    if (isFreeze)
-                        //    {
-                        //        accessType = ZigBee.Device.DoorLock.AccessType.DisEnableMoreUsers;
-                        //    }
-                        //    else
-                        //    {
-                        //        accessType = ZigBee.Device.DoorLock.AccessType.EnableMoreUsers;
-                        //    }
-                        //    //鍐荤粨/瑙e喕鐢ㄦ埛
-                        //    int count1 = tempGroupId.Count;
-                        //    if (tempGroupId.Count == 1)
-                        //    {
-                        //        foreach (var a in tempGroupId)
-                        //        {
-                        //            if (a.Count == 0)
-                        //            {
-                        //                count1 = 0;
-                        //                break;
-                        //            }
-                        //        }
-                        //    }
-                        //    int count2 = 0;
+                        var doorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                        var curAccountDoorLockUserList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetAccountDoorLockUserList(doorLock, curAccountObj.SubAccountDistributedMark);
+                        if (curAccountDoorLockUserList.Count != 0)
+                        {
+                            //淇敼浜戠瀛樺偍淇℃伅
+                            operateConunt = curAccountDoorLockUserList.Count;
+                            var tempGroupId = new List<List<int>>();
+                            var tempUserIdList = new List<int> { };
+                            foreach (var curDoorLockUser in curAccountDoorLockUserList)
+                            {
+                                // 璐︽埛涓病鏈夐棬閿佺敤鎴�
+                                if (string.IsNullOrEmpty(curDoorLockUser.DoorLockLocalUserId))
+                                {
+                                }
+                                else
+                                {
+                                    if (tempUserIdList.Count == 9)
+                                    {
+                                        tempGroupId.Add(tempUserIdList);
+                                        tempUserIdList = new List<int>();
+                                    }
+                                    tempUserIdList.Add(int.Parse(curDoorLockUser.DoorLockLocalUserId));
+                                }
+                            }
+                            tempGroupId.Add(tempUserIdList);
+                            //鎵归噺鍐荤粨闂ㄩ攣涓殑璐︽埛
+                            ZigBee.Device.DoorLock.AccessType accessType;
+                            if (isFreeze)
+                            {
+                                accessType = ZigBee.Device.DoorLock.AccessType.DisEnableMoreUsers;
+                            }
+                            else
+                            {
+                                accessType = ZigBee.Device.DoorLock.AccessType.EnableMoreUsers;
+                            }
+                            //鍐荤粨/瑙e喕鐢ㄦ埛
+                            int count1 = tempGroupId.Count;
+                            if (tempGroupId.Count == 1)
+                            {
+                                foreach (var a in tempGroupId)
+                                {
+                                    if (a.Count == 0)
+                                    {
+                                        count1 = 0;
+                                        break;
+                                    }
+                                }
+                            }
+                            int count2 = 0;
 
-                        //    int tempCount = 0;
-                        //    for (int i = 0; i < tempGroupId.Count; i++)
-                        //    {
-                        //        var tempUserIdList1 = tempGroupId[i];
-                        //        if (tempUserIdList1.Count == 0)
-                        //        {
-                        //            break;
-                        //        }
-                        //        var passData = doorLock.FreezeAccountData(tempUserIdList1, accessType);
-                        //        var resultData = await doorLock.DefaultControlAsync(passData);
-                        //        if (resultData != null && resultData.defaultControlResponseData != null)
-                        //        {
-                        //            if (resultData.defaultControlResponseData.status == 32)
-                        //            {
-                        //                count2++;
-                        //            }
-                        //            else if (resultData.defaultControlResponseData.status == 33)
-                        //            {
-                        //                count2++;
-                        //            }
-                        //            System.Threading.Thread.Sleep(1000);
-                        //        }
-                        //        else
-                        //        {
-                        //            Application.RunOnMainThread(() =>
-                        //            {
-                        //                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(Common.CommonPage.Instance);
-                        //            });
-                        //            return;
-                        //        }
-                        //        tempCount++;
-                        //    }
+                            int tempCount = 0;
+                            for (int i = 0; i < tempGroupId.Count; i++)
+                            {
+                                var tempUserIdList1 = tempGroupId[i];
+                                if (tempUserIdList1.Count == 0)
+                                {
+                                    break;
+                                }
+                                var passData = doorLock.FreezeAccountData(tempUserIdList1, accessType);
+                                var resultData = await doorLock.DefaultControlAsync(passData);
+                                if (resultData != null && resultData.defaultControlResponseData != null)
+                                {
+                                    if (resultData.defaultControlResponseData.status == 32)
+                                    {
+                                        count2++;
+                                    }
+                                    else if (resultData.defaultControlResponseData.status == 33)
+                                    {
+                                        count2++;
+                                    }
+                                    System.Threading.Thread.Sleep(1000);
+                                }
+                                else
+                                {
+                                    Application.RunOnMainThread(() =>
+                                    {
+                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(Common.CommonPage.Instance);
+                                    });
+                                    return;
+                                }
+                                tempCount++;
+                            }
 
-                        //    // 鎵归噺鍐荤粨闂ㄩ攣涓殑璐︽埛鍚庯紝鍑嗗鍐荤粨浜戠璐︽埛
-                        //    if (count2 == count1)
-                        //    {
-                        //        foreach (var curDoorLockUser in curAccountDoorLockUserList)
-                        //        {
-                        //            if (isFreeze)
-                        //            {
-                        //                var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
-                        //                if (UserCenterResourse.ResidenceOption.AuthorityNo != 1)
-                        //                {
-                        //                    //鈽嗐優銉笺偗鈽�
-                        //                    //refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
-                        //                    refreshDoorLockData.IsOtherAccountCtrl = true;
-                        //                }
-                        //                if (doorLock.DeviceAddr != null)
-                        //                {
-                        //                    refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
-                        //                }
+                            // 鎵归噺鍐荤粨闂ㄩ攣涓殑璐︽埛鍚庯紝鍑嗗鍐荤粨浜戠璐︽埛
+                            if (count2 == count1)
+                            {
+                                foreach (var curDoorLockUser in curAccountDoorLockUserList)
+                                {
+                                    if (isFreeze)
+                                    {
+                                        var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
+                                        if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                                        {
+                                            refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                                            refreshDoorLockData.IsOtherAccountCtrl = true;
+                                        }
+                                        if (doorLock.DeviceAddr != null)
+                                        {
+                                            refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                                        }
 
-                        //                refreshDoorLockData.OpenLockMode = curDoorLockUser.OpenLockMode;
-                        //                refreshDoorLockData.DoorLockLocalUserId = curDoorLockUser.DoorLockLocalUserId;
-                        //                refreshDoorLockData.PrimaryId = curDoorLockUser.Id;
-                        //                refreshDoorLockData.IsFreezeUser = true;
-                        //                refreshDoorLockData.IsTempUnlockAuthority = doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark];
-                        //                //鍐荤粨浜戠
-                        //                var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData);
-                        //                if (result != null)
-                        //                {
-                        //                    if (result.Code == HttpMessageEnum.A姝e父)
-                        //                    {
-                        //                        successConunt++;
-                        //                    }
-                        //                    else
-                        //                    {
-                        //                        Application.RunOnMainThread(() =>
-                        //                        {
-                        //                            if (isFreeze)
-                        //                            {
-                        //                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
-                        //                            }
-                        //                            else
-                        //                            {
-                        //                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
-                        //                            }
-                        //                            return;
-                        //                        });
-                        //                    }
-                        //                }
-                        //                else
-                        //                {
-                        //                    Application.RunOnMainThread(() =>
-                        //                    {
-                        //                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(Common.CommonPage.Instance);
-                        //                    });
-                        //                }
-                        //            }
-                        //            else
-                        //            {
-                        //                var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
-                        //                if (UserCenterResourse.ResidenceOption.AuthorityNo != 1)
-                        //                {
-                        //                    //鈽嗐優銉笺偗鈽�
-                        //                    //refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
-                        //                    refreshDoorLockData.IsOtherAccountCtrl = true;
-                        //                }
-                        //                if (doorLock.DeviceAddr != null)
-                        //                {
-                        //                    refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
-                        //                }
+                                        refreshDoorLockData.OpenLockMode = curDoorLockUser.OpenLockMode;
+                                        refreshDoorLockData.DoorLockLocalUserId = curDoorLockUser.DoorLockLocalUserId;
+                                        refreshDoorLockData.PrimaryId = curDoorLockUser.Id;
+                                        refreshDoorLockData.IsFreezeUser = true;
+                                        refreshDoorLockData.IsTempUnlockAuthority = doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark];
+                                        //鍐荤粨浜戠
+                                        var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData);
+                                        if (result != null)
+                                        {
+                                            if (result.StateCode == "Success")
+                                            {
+                                                successConunt++;
+                                            }
+                                            else
+                                            {
+                                                Application.RunOnMainThread(() =>
+                                                {
+                                                    if (isFreeze)
+                                                    {
+                                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+                                                    }
+                                                    else
+                                                    {
+                                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+                                                    }
+                                                    return;
+                                                });
+                                            }
+                                        }
+                                        else
+                                        {
+                                            Application.RunOnMainThread(() =>
+                                            {
+                                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(Common.CommonPage.Instance);
+                                            });
+                                        }
+                                    }
+                                    else
+                                    {
+                                        var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
+                                        if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                                        {
+                                            refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                                            refreshDoorLockData.IsOtherAccountCtrl = true;
+                                        }
+                                        if (doorLock.DeviceAddr != null)
+                                        {
+                                            refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                                        }
 
-                        //                refreshDoorLockData.OpenLockMode = curDoorLockUser.OpenLockMode;
-                        //                refreshDoorLockData.DoorLockLocalUserId = curDoorLockUser.DoorLockLocalUserId;
-                        //                refreshDoorLockData.PrimaryId = curDoorLockUser.Id;
-                        //                refreshDoorLockData.IsFreezeUser = false;
-                        //                refreshDoorLockData.IsTempUnlockAuthority = doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark];
-                        //                //瑙e喕浜戠
-                        //                var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData);
-                        //                if (result != null)
-                        //                {
-                        //                    if (result.Code == HttpMessageEnum.A姝e父)
-                        //                    {
-                        //                        successConunt++;
-                        //                    }
-                        //                    else
-                        //                    {
-                        //                        Application.RunOnMainThread(() =>
-                        //                        {
-                        //                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
-                        //                        });
-                        //                    }
-                        //                }
-                        //                else
-                        //                {
-                        //                    Application.RunOnMainThread(() =>
-                        //                    {
-                        //                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(Common.CommonPage.Instance);
-                        //                    });
-                        //                }
-                        //            }
-                        //        }
-                        //    }
-                        //    else
-                        //    {
-                        //        Application.RunOnMainThread(() =>
-                        //        {
-                        //            if (isFreeze)
-                        //            {
-                        //                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed) + ".", Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(Common.CommonPage.Instance);
-                        //            }
-                        //            else
-                        //            {
-                        //                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed) + ".", Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(Common.CommonPage.Instance);
-                        //            }
-                        //        });
-                        //    }
-                        //}
-                        //else
-                        //{
-                        //    //娣诲姞浜戠瀛樺偍淇℃伅
-                        //    //鍐荤粨/瑙e喕浜戠
-                        //    var addLockInfo = new ZigBee.Device.DoorLock.AddDoorLockData();
-                        //    if (UserCenterResourse.ResidenceOption.AuthorityNo != 1)
-                        //    {
-                        //        //鈽嗐優銉笺偗鈽�
-                        //        //addLockInfo.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
-                        //        addLockInfo.IsOtherAccountCtrl = true;
-                        //    }
-                        //    addLockInfo.CloudAccountId = curAccountObj.SubAccountDistributedMark;
-                        //    if (doorLock.DeviceAddr != null)
-                        //    {
-                        //        addLockInfo.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
-                        //    }
-                        //    addLockInfo.EntryTime = System.DateTime.Now;
-                        //    if (isFreeze)
-                        //    {
-                        //        addLockInfo.IsFreezeUser = true;
-                        //    }
-                        //    else
-                        //    {
-                        //        addLockInfo.IsFreezeUser = false;
-                        //    }
-                        //    addLockInfo.IsTempUnlockAuthority = doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark];
-                        //    var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLock", addLockInfo);
-                        //    if (result != null)
-                        //    {
-                        //        if (result.Code == HttpMessageEnum.A姝e父)
-                        //        {
-                        //            operateConunt = 0;
-                        //        }
-                        //        else
-                        //        {
-                        //            Application.RunOnMainThread(() =>
-                        //            {
-                        //                if (isFreeze)
-                        //                {
-                        //                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
-                        //                }
-                        //                else
-                        //                {
-                        //                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
-                        //                }
-                        //                return;
-                        //            });
-                        //        }
-                        //    }
-                        //    else
-                        //    {
-                        //        Application.RunOnMainThread(() =>
-                        //        {
-                        //            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+                                        refreshDoorLockData.OpenLockMode = curDoorLockUser.OpenLockMode;
+                                        refreshDoorLockData.DoorLockLocalUserId = curDoorLockUser.DoorLockLocalUserId;
+                                        refreshDoorLockData.PrimaryId = curDoorLockUser.Id;
+                                        refreshDoorLockData.IsFreezeUser = false;
+                                        refreshDoorLockData.IsTempUnlockAuthority = doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark];
+                                        //瑙e喕浜戠
+                                        var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData);
+                                        if (result != null)
+                                        {
+                                            if (result.StateCode == "Success")
+                                            {
+                                                successConunt++;
+                                            }
+                                            else
+                                            {
+                                                Application.RunOnMainThread(() =>
+                                                {
+                                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+                                                });
+                                            }
+                                        }
+                                        else
+                                        {
+                                            Application.RunOnMainThread(() =>
+                                            {
+                                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(Common.CommonPage.Instance);
+                                            });
+                                        }
+                                    }
+                                }
+                            }
+                            else
+                            {
+                                Application.RunOnMainThread(() =>
+                                {
+                                    if (isFreeze)
+                                    {
+                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed) + ".", Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(Common.CommonPage.Instance);
+                                    }
+                                    else
+                                    {
+                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed) + ".", Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(Common.CommonPage.Instance);
+                                    }
+                                });
+                            }
+                        }
+                        else
+                        {
+                            //娣诲姞浜戠瀛樺偍淇℃伅
+                            //鍐荤粨/瑙e喕浜戠
+                            var addLockInfo = new ZigBee.Device.DoorLock.AddDoorLockData();
+                            if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                            {
+                                addLockInfo.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                                addLockInfo.IsOtherAccountCtrl = true;
+                            }
+                            addLockInfo.CloudAccountId = curAccountObj.SubAccountDistributedMark;
+                            if (doorLock.DeviceAddr != null)
+                            {
+                                addLockInfo.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                            }
+                            addLockInfo.EntryTime = System.DateTime.Now;
+                            if (isFreeze)
+                            {
+                                addLockInfo.IsFreezeUser = true;
+                            }
+                            else
+                            {
+                                addLockInfo.IsFreezeUser = false;
+                            }
+                            addLockInfo.IsTempUnlockAuthority = doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark];
+                            var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLock", addLockInfo);
+                            if (result != null)
+                            {
+                                if (result.StateCode == "Success")
+                                {
+                                    operateConunt = 0;
+                                }
+                                else
+                                {
+                                    Application.RunOnMainThread(() =>
+                                    {
+                                        if (isFreeze)
+                                        {
+                                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+                                        }
+                                        else
+                                        {
+                                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+                                        }
+                                        return;
+                                    });
+                                }
+                            }
+                            else
+                            {
+                                Application.RunOnMainThread(() =>
+                                {
+                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
 
-                        //        });
-                        //    }
-                        //}
+                                });
+                            }
+                        }
                     }
                     catch { }
                     finally
                     {
                         if (operateConunt == successConunt)
                         {
-                            //鈽嗐優銉笺偗鈽�
-                            //if (isFreeze)
-                            //{
-                            //    doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] = true;
-                            //}
-                            //else
-                            //{
-                            //    doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] = false;
-                            //}
-                            //doorLock.ReSave();
+                            if (isFreeze)
+                            {
+                                doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] = true;
+                            }
+                            else
+                            {
+                                doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] = false;
+                            }
+                            doorLock.ReSave();
                         }
                         Application.RunOnMainThread(() =>
                         {
@@ -596,7 +596,7 @@
             {
                 msg = Language.StringByID(R.MyInternationalizationString.SureCancelAccessToSubaccount);
             }
-            var alert = new ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
+            var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
             alert.Show();
             //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
             alert.ConfirmClickEvent += () =>
@@ -608,163 +608,159 @@
                     Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); });
                     try
                     {
-                        //鈽嗐優銉笺偗鈽�
-                        //var resultList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetAccountDoorLockUserList(doorLock, curAccountObj.SubAccountDistributedMark);
-                        //var uList = new List<string> { };
-                        //if (resultList != null)
-                        //{
-                        //    foreach (var a in resultList)
-                        //    {
-                        //        uList.Add(a.CloudAccountId);
-                        //    }
-                        //}
+                        var resultList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetAccountDoorLockUserList(doorLock, curAccountObj.SubAccountDistributedMark);
+                        var uList = new List<string> { };
+                        if (resultList != null)
+                        {
+                            foreach (var a in resultList)
+                            {
+                                uList.Add(a.CloudAccountId);
+                            }
+                        }
+                        var d = uList.Find((value) => { return value == curAccountObj.SubAccountDistributedMark; });
+                        if (d != null)
+                        {
+                            //淇敼浜戠瀛樺偍淇℃伅
+                            var curAccountDoorLockUserList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetAccountDoorLockUserList(doorLock, curAccountObj.SubAccountDistributedMark);
 
-                        //var d = uList.Find((value) => { return value == curAccountObj.SubAccountDistributedMark; });
-                        //if (d != null)
-                        //{
-                        //    //淇敼浜戠瀛樺偍淇℃伅
-                        //    var curAccountDoorLockUserList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetAccountDoorLockUserList(doorLock, curAccountObj.SubAccountDistributedMark);
-
-                        //    foreach (var curDoorLockUser in curAccountDoorLockUserList)
-                        //    {
-                        //        operateConunt = curAccountDoorLockUserList.Count;
-                        //        if (hasAccess)
-                        //        {
-                        //            var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
-                        //            if (UserCenterResourse.ResidenceOption.AuthorityNo != 1)
-                        //            {
-                        //                //鈽嗐優銉笺偗鈽�
-                        //                //refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
-                        //                refreshDoorLockData.IsOtherAccountCtrl = true;
-                        //            }
-                        //            if (doorLock.DeviceAddr != null)
-                        //            {
-                        //                refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
-                        //            }
-                        //            refreshDoorLockData.PrimaryId = curDoorLockUser.Id;
-                        //            refreshDoorLockData.IsFreezeUser = false;
-                        //            refreshDoorLockData.IsTempUnlockAuthority = true;
-                        //            // 鎺堟潈
-                        //            var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData);
-                        //            if (result != null)
-                        //            {
-                        //                if (result.Code == HttpMessageEnum.A姝e父)
-                        //                {
-                        //                    successConunt++;
-                        //                }
-                        //                else
-                        //                {
-                        //                    Application.RunOnMainThread(() =>
-                        //                    {
-                        //                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GiveAccessToSubaccountFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
-                        //                    });
-                        //                }
-                        //            }
-                        //            else
-                        //            {
-                        //                Application.RunOnMainThread(() =>
-                        //                {
-                        //                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
-                        //                });
-                        //            }
-                        //        }
-                        //        else
-                        //        {
-                        //            var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
-                        //            if (UserCenterResourse.ResidenceOption.AuthorityNo != 1)
-                        //            {
-                        //                //refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
-                        //                refreshDoorLockData.IsOtherAccountCtrl = true;
-                        //            }
-                        //            if (doorLock.DeviceAddr != null)
-                        //            {
-                        //                refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
-                        //            }
-                        //            refreshDoorLockData.PrimaryId = curDoorLockUser.Id;
-                        //            refreshDoorLockData.IsFreezeUser = false;
-                        //            refreshDoorLockData.IsTempUnlockAuthority = false;
-                        //            //鍙栨秷鏉冮檺
-                        //            var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData);
-                        //            if (result != null)
-                        //            {
-                        //                if (result.Code == HttpMessageEnum.A姝e父)
-                        //                {
-                        //                    successConunt++;
-                        //                }
-                        //                else
-                        //                {
-                        //                    Application.RunOnMainThread(() =>
-                        //                    {
-                        //                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CancelAccessToSubaccountFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
-                        //                    });
-                        //                }
-                        //            }
-                        //            else
-                        //            {
-                        //                Application.RunOnMainThread(() =>
-                        //                {
-                        //                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
-                        //                });
-                        //            }
-                        //        }
-                        //    }
-                        //}
-                        //else
-                        //{
-                        //    //鏂板锛屼笖涓嶅喕缁� 
-                        //    var addLockInfo = new ZigBee.Device.DoorLock.AddDoorLockData();
-                        //    if (UserCenterResourse.ResidenceOption.AuthorityNo != 1)
-                        //    {
-                        //        //鈽嗐優銉笺偗鈽�
-                        //        //addLockInfo.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
-                        //        addLockInfo.IsOtherAccountCtrl = true;
-                        //    }
-                        //    addLockInfo.CloudAccountId = curAccountObj.SubAccountDistributedMark;
-                        //    if (doorLock.DeviceAddr != null)
-                        //    {
-                        //        addLockInfo.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
-                        //    }
-                        //    addLockInfo.EntryTime = System.DateTime.Now;
-                        //    addLockInfo.IsFreezeUser = false;
-                        //    if (hasAccess)
-                        //    {
-                        //        addLockInfo.IsTempUnlockAuthority = true;
-                        //    }
-                        //    else
-                        //    {
-                        //        addLockInfo.IsTempUnlockAuthority = false;
-                        //    }
-                        //    var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLock", addLockInfo);
-                        //    if (result != null)
-                        //    {
-                        //        if (result.Code == HttpMessageEnum.A姝e父)
-                        //        {
-                        //            operateConunt = 0;
-                        //        }
-                        //        else
-                        //        {
-                        //            Application.RunOnMainThread(() =>
-                        //            {
-                        //                if (hasAccess)
-                        //                {
-                        //                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GiveAccessToSubaccountFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
-                        //                }
-                        //                else
-                        //                {
-                        //                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CancelAccessToSubaccountFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
-                        //                }
-                        //                return;
-                        //            });
-                        //        }
-                        //    }
-                        //    else
-                        //    {
-                        //        Application.RunOnMainThread(() =>
-                        //        {
-                        //            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
-                        //        });
-                        //    }
-                        //}
+                            foreach (var curDoorLockUser in curAccountDoorLockUserList)
+                            {
+                                operateConunt = curAccountDoorLockUserList.Count;
+                                if (hasAccess)
+                                {
+                                    var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
+                                    if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                                    {
+                                        refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                                        refreshDoorLockData.IsOtherAccountCtrl = true;
+                                    }
+                                    if (doorLock.DeviceAddr != null)
+                                    {
+                                        refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                                    }
+                                    refreshDoorLockData.PrimaryId = curDoorLockUser.Id;
+                                    refreshDoorLockData.IsFreezeUser = false;
+                                    refreshDoorLockData.IsTempUnlockAuthority = true;
+                                    // 鎺堟潈
+                                    var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData);
+                                    if (result != null)
+                                    {
+                                        if (result.StateCode == "Success")
+                                        {
+                                            successConunt++;
+                                        }
+                                        else
+                                        {
+                                            Application.RunOnMainThread(() =>
+                                            {
+                                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GiveAccessToSubaccountFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+                                            });
+                                        }
+                                    }
+                                    else
+                                    {
+                                        Application.RunOnMainThread(() =>
+                                        {
+                                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+                                        });
+                                    }
+                                }
+                                else
+                                {
+                                    var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
+                                    if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                                    {
+                                        refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                                        refreshDoorLockData.IsOtherAccountCtrl = true;
+                                    }
+                                    if (doorLock.DeviceAddr != null)
+                                    {
+                                        refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                                    }
+                                    refreshDoorLockData.PrimaryId = curDoorLockUser.Id;
+                                    refreshDoorLockData.IsFreezeUser = false;
+                                    refreshDoorLockData.IsTempUnlockAuthority = false;
+                                    //鍙栨秷鏉冮檺
+                                    var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData);
+                                    if (result != null)
+                                    {
+                                        if (result.StateCode == "Success")
+                                        {
+                                            successConunt++;
+                                        }
+                                        else
+                                        {
+                                            Application.RunOnMainThread(() =>
+                                            {
+                                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CancelAccessToSubaccountFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+                                            });
+                                        }
+                                    }
+                                    else
+                                    {
+                                        Application.RunOnMainThread(() =>
+                                        {
+                                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+                                        });
+                                    }
+                                }
+                            }
+                        }
+                        else
+                        {
+                            //鏂板锛屼笖涓嶅喕缁� 
+                            var addLockInfo = new ZigBee.Device.DoorLock.AddDoorLockData();
+                            if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                            {
+                                addLockInfo.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                                addLockInfo.IsOtherAccountCtrl = true;
+                            }
+                            addLockInfo.CloudAccountId = curAccountObj.SubAccountDistributedMark;
+                            if (doorLock.DeviceAddr != null)
+                            {
+                                addLockInfo.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                            }
+                            addLockInfo.EntryTime = System.DateTime.Now;
+                            addLockInfo.IsFreezeUser = false;
+                            if (hasAccess)
+                            {
+                                addLockInfo.IsTempUnlockAuthority = true;
+                            }
+                            else
+                            {
+                                addLockInfo.IsTempUnlockAuthority = false;
+                            }
+                            var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLock", addLockInfo);
+                            if (result != null)
+                            {
+                                if (result.StateCode == "Success")
+                                {
+                                    operateConunt = 0;
+                                }
+                                else
+                                {
+                                    Application.RunOnMainThread(() =>
+                                    {
+                                        if (hasAccess)
+                                        {
+                                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GiveAccessToSubaccountFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+                                        }
+                                        else
+                                        {
+                                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CancelAccessToSubaccountFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+                                        }
+                                        return;
+                                    });
+                                }
+                            }
+                            else
+                            {
+                                Application.RunOnMainThread(() =>
+                                {
+                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+                                });
+                            }
+                        }
 
                     }
                     catch { }
@@ -772,15 +768,14 @@
                     {
                         if (operateConunt == successConunt)
                         {
-                            //鈽嗐優銉笺偗鈽�
-                            //if (hasAccess)
-                            //{
-                            //    doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark] = true;
-                            //}
-                            //else
-                            //{
-                            //    doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark] = false;
-                            //}
+                            if (hasAccess)
+                            {
+                                doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark] = true;
+                            }
+                            else
+                            {
+                                doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark] = false;
+                            }
                             doorLock.ReSave();
                         }
                         Application.RunOnMainThread(() =>

--
Gitblit v1.8.0