HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2019-12-20 23fb45dd846ed8b62304c408c6bbe64265d4ac8b
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs
@@ -40,6 +40,7 @@
                    Application.RunOnMainThread(() =>
                    {
                        MidRefresh();
                        bodyView.EndHeaderRefreshing();
                    });
                }
            });
@@ -79,7 +80,6 @@
            {
                bodyView.BeginHeaderRefreshing();
                ReadDoorLockUserInfo();
                bodyView.EndHeaderRefreshing();
            };
        }
@@ -262,16 +262,18 @@
                     {
                         int successConunt = 0;
                         int operateConunt = -1;
                         Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); });
                         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> { };
                                 var tempUserObjList = new List<ZigBee.Device.DoorLock.CloudDoorLockObj> { };
                                 foreach (var curDoorLockUser in curAccountDoorLockUserList)
                                 {
                                     // 账户中没有门锁用户
@@ -366,21 +368,68 @@
                                     }
                                     else
                                     {
                                         if (tempUserIdList.Count == 9)
                                         {
                                             tempGroupId.Add(tempUserIdList);
                                             tempUserIdList = new List<int>();
                                         }
                                         tempUserIdList.Add(int.Parse(curDoorLockUser.DoorLockLocalUserId));
                                         tempUserObjList.Add(curDoorLockUser);
                                     }
                                 }
                                 tempGroupId.Add(tempUserIdList);
                                 //批量冻结门锁中的账户
                                         ZigBee.Device.DoorLock.AccessType accessType;
                                         if (isFreeze)
                                         {
                                             accessType = ZigBee.Device.DoorLock.AccessType.DisEnable;
                                     accessType = ZigBee.Device.DoorLock.AccessType.DisEnableMoreUsers;
                                         }
                                         else
                                         {
                                             accessType = ZigBee.Device.DoorLock.AccessType.Enable;
                                     accessType = ZigBee.Device.DoorLock.AccessType.EnableMoreUsers;
                                         }
                                         //冻结/解冻用户
                                         var passData = doorLock.SetUserAccessData(int.Parse(curDoorLockUser.DoorLockLocalUserId), accessType);
                                 int count1 = tempGroupId.Count;
                                 int count2 = 0;
                                 for (int i = 0; i < tempGroupId.Count; i++)
                                 {
                                     var tempUserIdList1 = tempGroupId[i];
                                     if (tempUserIdList1.Count == 0)
                                     {
                                         return;
                                     }
                                     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(3000);
                                     }
                                     else
                                     {
                                         Application.RunOnMainThread(() =>
                                         {
                                             new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(Common.CommonPage.Instance);
                                         });
                                         return;
                                     }
                                 }
                                 // 批量冻结门锁中的账户后,准备冻结云端账户
                                 if (count2 == count1)
                                 {
                                     foreach (var curDoorLockUser in tempUserObjList)
                                     {
                                         if (isFreeze)
                                             {
                                                 var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
                                                 if (UserCenterResourse.UserInfo.AuthorityNo != 1)
@@ -430,7 +479,7 @@
                                                     });
                                                 }
                                             }
                                             else if (resultData.defaultControlResponseData.status == 33)
                                         else
                                             {
                                                 var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
                                                 if (UserCenterResourse.UserInfo.AuthorityNo != 1)
@@ -472,6 +521,8 @@
                                                     });
                                                 }
                                             }
                                     }
                                 }
                                             else
                                             {
                                                 Application.RunOnMainThread(() =>
@@ -486,16 +537,6 @@
                                                     }
                                                     return;
                                                 });
                                             }
                                         }
                                         else
                                         {
                                             Application.RunOnMainThread(() =>
                                             {
                                                 new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(Common.CommonPage.Instance);
                                             });
                                         }
                                     }
                                 }
                             }
                             else