From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 17 十二月 2020 09:07:13 +0800 Subject: [PATCH] 新云端Ver1.3 --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs | 1284 ++++++++++++++++++++++++++++----------------------------- 1 files changed, 635 insertions(+), 649 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs index 29ec891..b0cec52 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs @@ -5,39 +5,84 @@ using ZigBee.Device; namespace Shared.Phone.UserCenter.DoorLock { - public class MemberFrozenPage : DoorLockCommonLayout, ZigBee.Common.IStatus + public class MemberFrozenPage : DoorLockCommonLayout { /// <summary> /// 鏋勯�犲嚱鏁� /// </summary> /// <param name="doorLock"></param> - public MemberFrozenPage(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes accountObj) + public MemberFrozenPage(ZigBee.Device.DoorLock doorLock, MemberInfoRes accountObj) { this.doorLock = doorLock; this.curAccountObj = accountObj; BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor; } - #region 鈼� 鍙橀噺鐢虫槑__________________________ + #region 鍙橀噺鐢虫槑 + /// <summary> + /// 褰撳墠闂ㄩ攣 + /// </summary> ZigBee.Device.DoorLock doorLock; - Shared.Phone.UserCenter.MemberInfoRes curAccountObj; - VerticalScrolViewLayout bodyView; + /// <summary> + /// 褰撳墠鎴愬憳瀵硅薄v + /// </summary> + MemberInfoRes curAccountObj; + /// <summary> + /// 鍒锋柊View + /// </summary> + VerticalRefreshLayout bodyView; #endregion - /// <summary> - /// UI鏄剧ず + /// <summary> + /// 鍒濆鍖栨暟鎹俊鎭� + /// </summary> + void ReadDoorLockUserInfo() + { + System.Threading.Tasks.Task.Run(async () => + { + 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; + //} + } + catch { } + finally + { + Application.RunOnMainThread(() => + { + MidRefresh(); + bodyView.EndHeaderRefreshing(); + }); + } + }); + } + + /// <summary> + /// UI鏄剧ず /// </summary> public void Show() { - string accountTitle = ""; - if (curAccountObj.UserName != null) - { - accountTitle = curAccountObj.UserName; - } - else - { - accountTitle = curAccountObj.Account; - } + string accountTitle = curAccountObj.ShowName; this.TopFrameLayout(this, accountTitle); EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => @@ -47,22 +92,23 @@ this.btnBack.MouseUpEventHandler += eHandlerBack; this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack; this.MidFrameLayout(this); - this.titleFrameLayout.MouseUpEventHandler += (sender, e) => - { - var userDoorLockPage = new UserDoorLockPage(doorLock, curAccountObj); - Shared.Phone.UserView.HomePage.Instance.AddChidren(userDoorLockPage); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - userDoorLockPage.Show(); - }; - bodyView = new VerticalScrolViewLayout() + + bodyView = new VerticalRefreshLayout() { }; this.midFrameLayout.AddChidren(bodyView); + MidRefresh(); - ReadDoorLockUserInfo(); + bodyView.BeginHeaderRefreshingAction += () => + { + bodyView.BeginHeaderRefreshing(); + ReadDoorLockUserInfo(); + }; } - - public void MidRefresh() + /// <summary> + /// 涓儴甯冨眬 + /// </summary> + public async void MidRefresh() { bodyView.RemoveAll(); @@ -70,8 +116,8 @@ { var RowView = new FrameLayout() { - Height = Application.GetRealHeight(127 + 20), - BackgroundColor = Shared.Common.ZigbeeColor.Current.XMTopFrameLayout, + Height = Application.GetRealHeight(127 + 23), + BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, }; bodyView.AddChidren(RowView); @@ -127,45 +173,48 @@ btnRight.Width = Application.GetRealWidth(104); btnRight.UnSelectedImagePath = "DoorLock/Switch.png"; btnRight.SelectedImagePath = "DoorLock/SwitchOn.png"; - - if (doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] == 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.GetRealHeight(63); + // btnRight.Width = Application.GetRealWidth(104); + // btnRight.UnSelectedImagePath = "DoorLock/Switch.png"; + // btnRight.SelectedImagePath = "DoorLock/SwitchOn.png"; + // line2.Visible = false; - if (doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark] == 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; @@ -180,9 +229,7 @@ } else if (currentIndex == 1) { - btnRight.IsSelected = !btnRight.IsSelected; - - if (btnRight.IsSelected) + if (!btnRight.IsSelected) { FreezeUser(true); } @@ -193,8 +240,7 @@ } else if (currentIndex == 2) { - btnRight.IsSelected = !btnRight.IsSelected; - if (btnRight.IsSelected) + if (!btnRight.IsSelected) { HasRemoteUnlockAccessMethod(true); } @@ -204,607 +250,547 @@ } } }; - btnRightFrameLayout.MouseUpEventHandler += eHandler; - btnRight.MouseUpEventHandler += eHandler; - RowView.MouseUpEventHandler += eHandler; - btnText.MouseUpEventHandler += eHandler; + if (i == 0) + { + btnRightFrameLayout.MouseUpEventHandler += eHandler; + btnRight.MouseUpEventHandler += eHandler; + RowView.MouseUpEventHandler += eHandler; + btnText.MouseUpEventHandler += eHandler; + } + else if (i == 1) + { + btnRightFrameLayout.MouseUpEventHandler += eHandler; + btnRight.MouseUpEventHandler += eHandler; + } + else if (i == 2) + { + btnRightFrameLayout.MouseUpEventHandler += eHandler; + btnRight.MouseUpEventHandler += eHandler; + } } } - - //鍐荤粨璐︽埛 + /// <summary> + /// 鍐荤粨璐︽埛 + /// </summary> + /// <param name="isFreeze"></param> void FreezeUser(bool isFreeze) { - var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.SureToFreezeAccount), - Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); - alert.Show(); - alert.ResultEventHandler += (sender1, e1) => - { - if (e1) - { - System.Threading.Tasks.Task.Run(async () => - { - int successConunt = 0; - int operateConunt = -1; - Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); }); - 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; - foreach (var curDoorLockUser in curAccountDoorLockUserList) - { - // 璐︽埛涓病鏈夐棬閿佺敤鎴� - if (curDoorLockUser.DoorLockLocalUserId == null || curDoorLockUser.DoorLockLocalUserId == "") - { - 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.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.Up, CloseTime = 1 }.Show(this.btnTip); - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - } - return; - }); - } - } - else - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - }); - } - } - 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 = 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.Up, CloseTime = 1 }.Show(this.btnTip); - }); - } - } - else - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - }); - } - } - } - else - { - ZigBee.Device.DoorLock.AccessType accessType; - if (isFreeze) - { - accessType = ZigBee.Device.DoorLock.AccessType.DisEnable; - } - else - { - accessType = ZigBee.Device.DoorLock.AccessType.Enable; - } - //鍐荤粨/瑙e喕鐢ㄦ埛 - var passData = doorLock.SetUserAccessData(int.Parse(curDoorLockUser.DoorLockLocalUserId), accessType); - var resultData = await doorLock.DefaultControlAsync(passData); - if (resultData != null && resultData.defaultControlResponseData != null) - { - if (resultData.defaultControlResponseData.status == 32) - { - 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.StateCode == "Success") - { - successConunt++; - } - else - { - Application.RunOnMainThread(() => - { - if (isFreeze) - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - } - return; - }); - } - } - else - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(this.btnTip); - }); - } - } - else if (resultData.defaultControlResponseData.status == 33) - { - 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.StateCode == "Success") - { - successConunt++; - } - else - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - }); - } - } - else - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(this.btnTip); - }); - } - } - else - { - Application.RunOnMainThread(() => - { - if (isFreeze) - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.FreezeFailed) + ".", Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(this.btnTip); - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed) + ".", Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(this.btnTip); - } - return; - }); - } - } - else - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(this.btnTip); - }); - } - } - } - } - 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.Up, CloseTime = 1 }.Show(this.btnTip); - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnFreezeFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - } - return; - }); - } - } - else - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - - }); - } - } - } - catch { } - finally - { - if (operateConunt == successConunt) - { - if (isFreeze) - { - doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] = true; - } - else - { - doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] = false; - } - doorLock.ReSave(); - } - Application.RunOnMainThread(() => - { - MidRefresh(); - CommonPage.Loading.Hide(); - }); - } - }); - } - else - { - MidRefresh(); - } - }; - } - - //鏄惁缁欏瓙璐︽埛鎷ユ湁杩滅▼寮�閿佺殑鏉′欢 - void HasRemoteUnlockAccessMethod(bool hasAccess) - { - var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.SureGiveAccessToSubaccount), - Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); - alert.Show(); - alert.ResultEventHandler += (sender1, e1) => + var dialog = new Dialog { }; + string textFreeze = ""; + if (isFreeze) { - if (e1) + textFreeze = Language.StringByID(R.MyInternationalizationString.SureToFreezeAccount); + } + else + { + textFreeze = Language.StringByID(R.MyInternationalizationString.SureToUnFreeze); + } + + string msg = Language.StringByID(R.MyInternationalizationString.GoPersonalCenter); + var alert = new ShowMsgControl(ShowMsgType.Confirm, textFreeze, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm)); + alert.Show(); + //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁� + alert.ConfirmClickEvent += () => + { + System.Threading.Tasks.Task.Run(async () => { - System.Threading.Tasks.Task.Run(async () => + int successConunt = 0; + int operateConunt = -1; + Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); + try { - int successConunt = 0; - int operateConunt = -1; - 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 d = uList.Find((value) => { return value == curAccountObj.SubAccountDistributedMark; }); - if (d != null) - { - //淇敼浜戠瀛樺偍淇℃伅 - var curAccountDoorLockUserList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetAccountDoorLockUserList(doorLock, curAccountObj.SubAccountDistributedMark); + //鈽嗐優銉笺偗鈽� + //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; - 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.Up, CloseTime = 1 }.Show(this.btnTip); - }); - } - } - else - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - }); - } - } - 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.Up, CloseTime = 1 }.Show(this.btnTip); - }); - } - } - else - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - }); - } - } - } - } - 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.Up, CloseTime = 1 }.Show(this.btnTip); - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CancelAccessToSubaccountFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - } - return; - }); - } - } - else - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - }); - } - } + // 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++; + // } - } - catch { } - finally + // // 鎵归噺鍐荤粨闂ㄩ攣涓殑璐︽埛鍚庯紝鍑嗗鍐荤粨浜戠璐︽埛 + // 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; + // } + + // 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 = 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); + + // }); + // } + //} + } + catch { } + finally + { + if (operateConunt == successConunt) { - if (operateConunt == successConunt) - { - if (hasAccess) - { - doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark] = true; - } - else - { - doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark] = false; - } - doorLock.ReSave(); - } - Application.RunOnMainThread(() => - { - MidRefresh(); - CommonPage.Loading.Hide(); - }); + //鈽嗐優銉笺偗鈽� + //if (isFreeze) + //{ + // doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] = true; + //} + //else + //{ + // doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] = false; + //} + //doorLock.ReSave(); } - }); - } - else - { - MidRefresh(); - } + Application.RunOnMainThread(() => + { + MidRefresh(); + CommonPage.Loading.Hide(); + }); + } + }); }; } - void ReadDoorLockUserInfo() + /// <summary> + /// 鏄惁缁欏瓙璐︽埛鎷ユ湁杩滅▼寮�閿佺殑鏉′欢 + /// </summary> + /// <param name="hasAccess"></param> + void HasRemoteUnlockAccessMethod(bool hasAccess) { - System.Threading.Tasks.Task.Run(async () => + string msg = Language.StringByID(R.MyInternationalizationString.SureGiveAccessToSubaccount); + if (!hasAccess) { - Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); }); - try + msg = Language.StringByID(R.MyInternationalizationString.SureCancelAccessToSubaccount); + } + var alert = new ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm)); + alert.Show(); + //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁� + alert.ConfirmClickEvent += () => + { + System.Threading.Tasks.Task.Run(async () => { - await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetLocaDoorLocklist(doorLock, curAccountObj); - } - catch { } - finally - { - Application.RunOnMainThread(() => + int successConunt = 0; + int operateConunt = -1; + Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); }); + try { - MidRefresh(); - CommonPage.Loading.Hide(); - }); - } - }); - } + //鈽嗐優銉笺偗鈽� + //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); + // } + //} - #region 鈼� 鎺ュ彛瀹炵幇__________________________ - /// <summary> - /// 澶勭悊鍙樺寲浜嬩欢 --灏嗗純鐢� 鏀圭敤DeviceInfoChange() - /// </summary> - /// <returns>The changed.</returns> - /// <param name="common">Common.</param> - public void Changed(CommonDevice common) - { + //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); + // }); + // } + //} + + } + catch { } + finally + { + if (operateConunt == successConunt) + { + //鈽嗐優銉笺偗鈽� + //if (hasAccess) + //{ + // doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark] = true; + //} + //else + //{ + // doorLock.HasRemoteUnlockAccess[curAccountObj.SubAccountDistributedMark] = false; + //} + doorLock.ReSave(); + } + Application.RunOnMainThread(() => + { + MidRefresh(); + CommonPage.Loading.Hide(); + }); + } + }); + }; } - /// <summary> - /// 澶勭悊鍙樺寲浜嬩欢 - /// </summary> - /// <param name="common"></param> - /// <param name="typeTag"></param> - public void DeviceInfoChange(CommonDevice common, string typeTag) - { - } - /// <summary> - /// Changeds the IL ogic status. - /// </summary> - /// <param name="logic">Logic.</param> - public void ChangedILogicStatus(ZigBee.Device.Logic logic) - { - } - /// <summary> - /// Changeds the IS cene status. - /// </summary> - /// <param name="scene">Scene.</param> - public void ChangedISceneStatus(Scene scene) - { - } - #endregion } } -- Gitblit v1.8.0