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