From 25429f085093d89d543a0b90e30d0d62d1b7dac9 Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期二, 30 八月 2022 09:37:38 +0800 Subject: [PATCH] 合并了IOS的代码 --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs | 1307 +++++++++++++++++++++++------------------------------------ 1 files changed, 509 insertions(+), 798 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs index 7580a18..158d0a8 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs @@ -25,11 +25,6 @@ var doorLock = tempDevice as ZigBee.Device.DoorLock; if (doorLock.doorLockProgrammingEventNotificationCommand != null) { - - Application.RunOnMainThread(() => - { - - }); } } } @@ -45,43 +40,89 @@ BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor; } - #region 鈼� 鍙橀噺鐢虫槑__________________________ + #region 鍙橀噺鐢虫槑 + /// <summary> + /// 褰撳墠闂ㄩ攣 + /// </summary> ZigBee.Device.DoorLock doorLock; - VerticalScrolViewLayout bodyView; - Button currentMethod;// 褰撳墠閫夋嫨鐨勬柟寮� + /// <summary> + /// 鍒锋柊View + /// </summary> + VerticalListRefreshControl bodyView; + /// <summary> + /// 褰撳墠閫夋嫨鐨勬柟寮� + /// </summary> + Button currentMethod; + /// <summary> + /// 褰撳墠璐︽埛 + /// </summary> Shared.Phone.UserCenter.MemberInfoRes curAccountObj; + /// <summary> + /// 鏁版嵁涓虹┖锛孶I鏄剧ず鐨勭┖鍥剧墖 + /// </summary> Button entryStatusPic; + /// <summary> + /// 鏁版嵁涓虹┖锛孶I鏄剧ず鐨勬枃鏈彁绀� + /// </summary> Button btnPicTip; + /// <summary> + /// 鏁版嵁涓虹┖锛孶I鏄剧ず鐨勬枃鏈彁绀� + /// </summary> Button btnPicTip1; + /// <summary> + /// //鏄惁浜屾鍒犻櫎 + /// </summary> bool isSecondDel; + /// <summary> + /// 绌烘暟鎹樉绀哄竷灞� + /// </summary> + FrameLayout blankFrameLayout; #endregion + /// <summary> + /// 璇诲彇闂ㄩ攣瀛樺偍鐨勬渶鏂版暟鎹� + /// </summary> void ReadDoorLockUserInfo() { System.Threading.Tasks.Task.Run(async () => { - Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); }); try { - await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetLocaDoorLocklist(doorLock, curAccountObj); + var list = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllAcountUserlist(doorLock); + if (doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] == true) + { + //鏁版嵁濡傛灉鍦ㄩ棬閿佷笂闈㈡槸绌虹殑鏃跺�欙紝鏁版嵁涔熸槸娌℃湁鐨� + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + }); + } } catch { } finally { Application.RunOnMainThread(() => { - RefreshList(); + // 绫诲瀷鍖哄垎 + UndateUnlockMethodAction += (obj) => + { + RefreshList(obj); + }; + TypeRefresh(doorLock); CommonPage.Loading.Hide(); + bodyView.EndHeaderRefreshing(); }); } }); } - /// <summary> - /// UI鏄剧ず + /// <summary> + /// UI鏄剧ず /// </summary> public void Show() { + UserView.HomePage.Instance.ScrollEnabled = false; + doorLock.currentUserDisplayMethod = ""; this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.LockMethod)); this.btnTitleLine.Visible = false; EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => @@ -112,19 +153,19 @@ btnAdd.Width = 0; } btnAdd.MouseDownEventHandler += (sender, e) => - { - if (doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] == true) { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - } - else - { - var addUnLockMethod = new Shared.Phone.UserCenter.DoorLock.AddUnLockMethod(doorLock, curAccountObj); - Shared.Phone.UserView.HomePage.Instance.AddChidren(addUnLockMethod); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - addUnLockMethod.Show(); - } - }; + if (doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] == true) + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + } + else + { + var addUnLockMethod = new Shared.Phone.UserCenter.DoorLock.AddUnLockMethod(doorLock, curAccountObj); + Shared.Phone.UserView.HomePage.Instance.AddChidren(addUnLockMethod); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + addUnLockMethod.Show(); + } + }; if (UserCenterResourse.UserInfo.AuthorityNo == 3) { btnAddFrameLayout.Width = 0; @@ -133,11 +174,25 @@ { btnAddFrameLayout.Width = Application.GetRealWidth(72); } + MidFrameLayoutContent(); + if (doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] == true) + { + CommonPage.Loading.Start("Loading..."); + ReadDoorLockUserInfo(); + } + else + { + RefreshList(); + } } - //涓儴甯冨眬 + + /// <summary> + /// 涓儴甯冨眬 + /// </summary> void MidFrameLayoutContent() { + #region 寮�閿佹柟寮廢I var midTopFrameLayout = new FrameLayout() { Height = Application.GetRealHeight(115), @@ -151,12 +206,41 @@ Width = Application.GetRealWidth(141 + 100), Y = Application.GetRealHeight(35), X = Application.GetRealWidth(812 - 100), - TextAlignment = TextAlignment.Center, - Text = Language.StringByID(R.MyInternationalizationString.LockMethod), - TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText, + TextAlignment = TextAlignment.CenterRight, + TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextSize = 12, + IsBold = true, }; midTopFrameLayout.AddChidren(btnAllMethod); + // 绫诲瀷鍖哄垎 + if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.AllMethod)) + { + btnAllMethod.Text = Language.StringByID(R.MyInternationalizationString.AllMethod); + } + else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.PasswordUnlock)) + { + btnAllMethod.Text = Language.StringByID(R.MyInternationalizationString.PasswordUnlock); + } + else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FingerprintUnlock)) + { + btnAllMethod.Text = Language.StringByID(R.MyInternationalizationString.FingerprintUnlock); + } + else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock)) + { + btnAllMethod.Text = Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock); + } + else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FaceIDUnlock)) + { + btnAllMethod.Text = Language.StringByID(R.MyInternationalizationString.FaceIDUnlock); + } + else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.CalmFingerprintUnlock)) + { + btnAllMethod.Text = Language.StringByID(R.MyInternationalizationString.CalmFingerprintUnlock); + } + else + { + btnAllMethod.Text = Language.StringByID(R.MyInternationalizationString.AllMethod); + } var btnNext = new Button() { @@ -169,41 +253,16 @@ }; midTopFrameLayout.AddChidren(btnNext); - entryStatusPic = new Button + EventHandler<MouseEventArgs> handerSideLip = (sender, e) => { - X = Application.GetRealWidth(164), - Y = Application.GetRealHeight(492), - Height = Application.GetRealHeight(435), - Width = Application.GetRealWidth(757), - Visible = false, - UnSelectedImagePath = "DoorLock/UnLockBlankPic.png", + SideslipFramelayout(doorLock); + UndateUnlockMethodAction += (obj) => + { + RefreshList(obj); + }; }; - this.midFrameLayout.AddChidren(entryStatusPic); - - btnPicTip = new Button - { - X = Application.GetRealWidth(397), - Y = Application.GetRealHeight(1143 - 184), - Height = Application.GetRealHeight(98 / 2), - Text = Language.StringByID(R.MyInternationalizationString.NoPasswordInformation), - TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, - Gravity = Gravity.CenterHorizontal, - Visible = false, - }; - this.midFrameLayout.AddChidren(btnPicTip); - - btnPicTip1 = new Button - { - X = Application.GetRealWidth(397), - Y = btnPicTip.Bottom, - Height = Application.GetRealHeight(98 / 2), - Text = Language.StringByID(R.MyInternationalizationString.NoPasswordInformation1), - TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, - Gravity = Gravity.CenterHorizontal, - Visible = false, - }; - this.midFrameLayout.AddChidren(btnPicTip1); - + btnNext.MouseUpEventHandler += handerSideLip; + btnAllMethod.MouseUpEventHandler += handerSideLip; var btnLine = new Button { Y = midTopFrameLayout.Bottom, @@ -211,25 +270,70 @@ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMTitleLine, }; this.midFrameLayout.AddChidren(btnLine); + #endregion - bodyView = new VerticalScrolViewLayout() + bodyView = new VerticalListRefreshControl(29) { - Y = midTopFrameLayout.Bottom, - Height = Application.GetRealHeight(1921 - 184 - 115 - 1), + Y = btnLine.Bottom, + Height = Application.GetRealHeight(1921 - 184 - 116), }; this.midFrameLayout.AddChidren(bodyView); - - btnNext.MouseUpEventHandler += (sender, e) => + bodyView.BeginHeaderRefreshingAction += () => { - SideslipFramelayout(); - }; - if (doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] == true) - { + bodyView.BeginHeaderRefreshing(); ReadDoorLockUserInfo(); - } - else + }; + BlankPicUI(); + } + + /// <summary> + /// 绌烘暟鎹甎I鏄剧ず + /// </summary> + void BlankPicUI() + { + blankFrameLayout = new FrameLayout { - RefreshList(); + }; + bodyView.AddChidren(blankFrameLayout); + + entryStatusPic = new Button + { + X = Application.GetRealWidth(164), + Y = Application.GetRealHeight(377), + Height = Application.GetRealHeight(435), + Width = Application.GetRealHeight(757), + Visible = false, + UnSelectedImagePath = "DoorLock/UnLockBlankPic.png", + Gravity = Gravity.CenterHorizontal, + }; + blankFrameLayout.AddChidren(entryStatusPic); + + btnPicTip = new Button + { + X = Application.GetRealWidth(397), + Text = Language.StringByID(R.MyInternationalizationString.NoPasswordInformation), + TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, + Gravity = Gravity.CenterHorizontal, + Visible = false, + Y = Application.GetRealHeight(844), + TextSize = 12, + }; + blankFrameLayout.AddChidren(btnPicTip); + + btnPicTip1 = new Button + { + X = Application.GetRealWidth(397), + Y = Application.GetRealHeight(844 + 49), + Text = Language.StringByID(R.MyInternationalizationString.NoPasswordInformation1), + TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, + Gravity = Gravity.CenterHorizontal, + Visible = true, + TextSize = 12, + }; + blankFrameLayout.AddChidren(btnPicTip1); + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + btnPicTip1.Width = 0; } } @@ -238,21 +342,17 @@ /// </summary> /// <param name="gateway"></param> /// <param name="key"></param> - public void RefreshList() + public void RefreshList(int unlockMethod = -1) { - if (doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] == true) - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); - return; - } bodyView.RemoveAll(); + this.midFrameLayout.RemoveAll(); + MidFrameLayoutContent(); var curAccountDoorLockUserList = new Dictionary<int, ZigBee.Device.DoorLock.LocaDoorLockObj>(); - foreach (var curUserId in doorLock.localDoorLockUserList.Keys) { var curDoorLockUser = doorLock.localDoorLockUserList[curUserId]; - if (curDoorLockUser.ConnectedAccount == "" || curDoorLockUser.ConnectedAccount != curAccountObj.SubAccountDistributedMark) + if (string.IsNullOrEmpty(curDoorLockUser.ConnectedAccount) || curDoorLockUser.ConnectedAccount != curAccountObj.SubAccountDistributedMark) { continue; } @@ -267,726 +367,349 @@ entryStatusPic.Visible = true; btnPicTip.Visible = true; btnPicTip1.Visible = true; + blankFrameLayout.Visible = true; + entryStatusPic.Height = Application.GetRealHeight(435); + entryStatusPic.Width = Application.GetRealHeight(757); + btnPicTip.Height = Application.GetRealHeight(98 / 2); + btnPicTip1.Height = Application.GetRealHeight(98 / 2); + blankFrameLayout.Height = bodyView.Height; } else { entryStatusPic.Visible = false; btnPicTip.Visible = false; btnPicTip1.Visible = false; - } + blankFrameLayout.Visible = false; + entryStatusPic.Height = Application.GetRealHeight(0); + entryStatusPic.Width = Application.GetRealHeight(0); + btnPicTip.Height = Application.GetRealHeight(0); + btnPicTip1.Height = Application.GetRealHeight(0); + blankFrameLayout.Height = Application.GetRealHeight(0); - foreach (var curUserId in curAccountDoorLockUserList.Keys) - { - var curDoorLockUser = curAccountDoorLockUserList[curUserId]; - #region UI - var rowFrameLayout = new RowLayout() + int i = 0; + foreach (var curUserId in curAccountDoorLockUserList.Keys) { - Height = Application.GetRealHeight(173), - X = Application.GetRealWidth(58), - Width = Application.GetRealWidth(965), - LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine, - }; - bodyView.AddChidren(rowFrameLayout); + var curDoorLockUser = curAccountDoorLockUserList[curUserId]; + switch (unlockMethod) + { + case 0: + if (curDoorLockUser.UnlockType != unlockMethod) + { + continue; + } + break; + case 3: + if (curDoorLockUser.UnlockType != unlockMethod) + { + continue; + } + break; + case 13: + if (curDoorLockUser.UnlockType != unlockMethod) + { + continue; + } + break; + case 14: + if (curDoorLockUser.UnlockType != unlockMethod) + { + continue; + } + break; + case 15: + if (curDoorLockUser.UnlockType != unlockMethod) + { + continue; + } + break; + default: + break; + } - var btnPicFrameLayout = new FrameLayout() - { - Width = Application.GetRealWidth(81), - Height = Application.GetRealHeight(81), - X = Application.GetRealWidth(40), - Y = Application.GetRealHeight(49), - }; - rowFrameLayout.AddChidren(btnPicFrameLayout); - - var btnPic = new Button() - { - Width = Application.GetRealWidth(84), - Height = Application.GetRealHeight(84), - UnSelectedImagePath = "DoorLock/DoorLockUserPic.png", - }; - btnPicFrameLayout.AddChidren(btnPic); - - var btnDoorlockUser = new EditText() - { - Width = Application.GetRealWidth(1080 - 173), - Height = Application.GetRealHeight(60), - X = Application.GetRealWidth(173), - Y = Application.GetRealHeight(35), - TextSize = 14, - PlaceholderTextColor = Shared.Common.ZigbeeColor.Current.XMGray3, - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, - TextAlignment = TextAlignment.CenterLeft, - }; - rowFrameLayout.AddChidren(btnDoorlockUser); - - var btnMember = new Button() - { - Width = Application.GetRealWidth(1080 - 173), - Height = Application.GetRealHeight(49), - X = Application.GetRealWidth(173), - Y = Application.GetRealHeight(95), - TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, - TextSize = 14, - TextAlignment = TextAlignment.CenterLeft, - }; - rowFrameLayout.AddChidren(btnMember); - - var btnDel = new Button() - { - Width = Application.GetRealWidth(1080 - 173), - Height = Application.GetRealHeight(49), - X = Application.GetRealWidth(173), - Y = Application.GetRealHeight(95), - Text = Language.StringByID(R.MyInternationalizationString.DelBindDevice), - TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, - TextSize = 12, - TextAlignment = TextAlignment.Center, - BackgroundColor = Shared.Common.ZigbeeColor.Current.XMDel, - }; - rowFrameLayout.AddRightView(btnDel); - #endregion - #region 鏁版嵁澶勭悊 - switch (curDoorLockUser.UnlockType) - { - case 0: - if (curDoorLockUser.UserName != "" && curDoorLockUser.UserName != null) - { - btnDoorlockUser.Text = curDoorLockUser.UserName; - } - else - { - btnDoorlockUser.Text = Language.StringByID(R.MyInternationalizationString.Password) + "ID" + curDoorLockUser.UserID; - } - break; - case 3: - if (curDoorLockUser.UserName != "" && curDoorLockUser.UserName != null) - { - btnDoorlockUser.Text = curDoorLockUser.UserName; - } - else - { - btnDoorlockUser.Text = Language.StringByID(R.MyInternationalizationString.IcCard) + "ID" + curDoorLockUser.UserID; - } - break; - case 15: - if (curDoorLockUser.UserName != "" && curDoorLockUser.UserName != null) - { - btnDoorlockUser.Text = curDoorLockUser.UserName; - } - else - { - btnDoorlockUser.Text = Language.StringByID(R.MyInternationalizationString.Fingerprint) + "ID" + +curDoorLockUser.UserID; - } - break; - } - - if (curAccountObj.UserName == "" || curAccountObj.UserName == null) - { - btnMember.Text = curAccountObj.Account; - } - else - { - btnMember.Text = curAccountObj.UserName; - } - - Action<Shared.View> action = async (obj) => - { - 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.UnlockType; - refreshDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString(); - refreshDoorLockData.PrimaryId = curDoorLockUser.PrimaryId; - refreshDoorLockData.UserIdRemarks = btnDoorlockUser.Text; - var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData); - if (result != null) - { - if (result.StateCode == "Success") + #region UI + var rowFrameLayout = new RowLayoutControl(bodyView.rowSpace / 2); + rowFrameLayout.BackgroundColor = ZigbeeColor.Current.XMWhite; + bodyView.AddChidren(rowFrameLayout); + rowFrameLayout.frameTable.UseClickStatu = false; + var btnicon = rowFrameLayout.frameTable.AddLeftIcon(); + btnicon.UnSelectedImagePath = "DoorLock/DoorLockUserPic.png"; + //涓婇潰闂ㄩ攣鐢ㄦ埛鍚嶇О涓�琛� + var memberText = ""; + if (string.IsNullOrEmpty(curAccountObj.UserName)) + { + memberText = curAccountObj.Account; + } + else + { + memberText = curAccountObj.UserName; + } + //鎴愬憳涓�琛� + var btnaa = rowFrameLayout.frameTable.AddBottomView(memberText, 800); + var btnDoorlockUser = new EditText() + { + Width = Application.GetRealWidth(800), + Height = Application.GetRealHeight(60), + X = btnaa.X, + Y = rowFrameLayout.chidrenYaxis + Application.GetRealHeight(12), + TextSize = 14, + PlaceholderTextColor = Shared.Common.ZigbeeColor.Current.XMGray3, + TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, + TextAlignment = TextAlignment.CenterLeft, + }; + rowFrameLayout.frameTable.AddChidren(btnDoorlockUser, ChidrenBindMode.NotBind); + rowFrameLayout.frameTable.AddBottomLine(); + var btndelete = rowFrameLayout.AddDeleteControl(); + btndelete.ButtonClickEvent += (sender, e) => + { + string msg = Language.StringByID(R.MyInternationalizationString.SureToDelUnlockMethod); + var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm)); + alert.Show(); + //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁� + alert.ConfirmClickEvent += async () => { - if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) + try { - doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID); - var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; - localDoorLockObj.UserID = curDoorLockUser.UserID; - localDoorLockObj.UnlockType = curDoorLockUser.UnlockType; - localDoorLockObj.EntryTime = curDoorLockUser.EntryTime; - localDoorLockObj.UserName = refreshDoorLockData.UserIdRemarks; - localDoorLockObj.ConnectedAccount = curAccountObj.SubAccountDistributedMark; - doorLock.localDoorLockUserList.Add(curDoorLockUser.UserID, localDoorLockObj); - RefreshList(); + CommonPage.Loading.Start(""); + var passData = doorLock.SetUserAccessData(curDoorLockUser.UserID, ZigBee.Device.DoorLock.AccessType.DelCurrentUser); + var resultData = await doorLock.DefaultControlAsync(passData); + if (resultData != null && resultData.defaultControlResponseData != null) + { + if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2) + { + var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + deleteDoorLockData.IsOtherAccountCtrl = true; + } + if (doorLock.DeviceAddr != null) + { + deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + } + deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString(); + deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId; + deleteDoorLockData.DelDoorLockDelType = 2; + var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); + if (result != null) + { + if (result.StateCode == "Success") + { + isSecondDel = false; + if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) + { + doorLock.localDoorLockAccountList.Remove(curDoorLockUser.ConnectedAccount); + var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; + localDoorLockObj.UserID = curDoorLockUser.UserID; + doorLock.localDoorLockUserList.Remove(curUserId); + doorLock.ReSave(); + UndateUnlockMethodAction += (obj) => + { + RefreshList(obj); + }; + TypeRefresh(doorLock); + } + } + else + { + //寮�鍏冲浘鏍� + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); + } + } + else + { + isSecondDel = true; + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); + } + } + else + { + if (isSecondDel) + { + var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + deleteDoorLockData.IsOtherAccountCtrl = true; + } + if (doorLock.DeviceAddr != null) + { + deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + } + deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString(); + deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId; + deleteDoorLockData.DelDoorLockDelType = 2; + var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); + if (result != null) + { + if (result.StateCode == "Success") + { + isSecondDel = false; + if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) + { + doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID); + var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; + localDoorLockObj.UserID = curDoorLockUser.UserID; + doorLock.localDoorLockUserList.Remove(curUserId); + UndateUnlockMethodAction += (obj) => + { + RefreshList(obj); + }; + TypeRefresh(doorLock); + } + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); + } + } + else + { + isSecondDel = true; + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); + } + } + else + { + if (curDoorLockUser.UserID < 10) + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.OnlyBeDeletedOnTheDevice), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); + } + } + } + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance); + } + } + catch { } + finally + { + CommonPage.Loading.Hide(); + } + }; + }; + #endregion + + #region 鏁版嵁澶勭悊 + int currentIndex = i; + if (currentIndex == curAccountDoorLockUserList.Keys.Count - 1) + { + rowFrameLayout.LineColor = Shared.Common.ZigbeeColor.Current.XMWhite; + } + + switch (curDoorLockUser.UnlockType) + { + case 0: + if (!string.IsNullOrEmpty(curDoorLockUser.UserName)) + { + btnDoorlockUser.Text = curDoorLockUser.UserName; + } + else + { + btnDoorlockUser.Text = Language.StringByID(R.MyInternationalizationString.Password) + "ID" + curDoorLockUser.UserID; + } + break; + case 3: + if (!string.IsNullOrEmpty(curDoorLockUser.UserName)) + { + btnDoorlockUser.Text = curDoorLockUser.UserName; + } + else + { + btnDoorlockUser.Text = Language.StringByID(R.MyInternationalizationString.IcCard) + "ID" + curDoorLockUser.UserID; + } + break; + case 13: + if (!string.IsNullOrEmpty(curDoorLockUser.UserName)) + { + btnDoorlockUser.Text = curDoorLockUser.UserName; + } + else + { + btnDoorlockUser.Text = Language.StringByID(R.MyInternationalizationString.CalmFingerprintMark) + "ID" + +curDoorLockUser.UserID; + } + break; + case 14: + if (!string.IsNullOrEmpty(curDoorLockUser.UserName)) + { + btnDoorlockUser.Text = curDoorLockUser.UserName; + } + else + { + btnDoorlockUser.Text = Language.StringByID(R.MyInternationalizationString.FaceIDMark) + "ID" + +curDoorLockUser.UserID; + } + break; + case 15: + if (!string.IsNullOrEmpty(curDoorLockUser.UserName)) + { + btnDoorlockUser.Text = curDoorLockUser.UserName; + } + else + { + btnDoorlockUser.Text = Language.StringByID(R.MyInternationalizationString.Fingerprint) + "ID" + +curDoorLockUser.UserID; + } + break; + } + + + Action<Shared.View> action = async (obj) => + { + 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.UnlockType; + refreshDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString(); + refreshDoorLockData.PrimaryId = curDoorLockUser.PrimaryId; + refreshDoorLockData.UserIdRemarks = btnDoorlockUser.Text; + var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData); + if (result != null) + { + if (result.StateCode == "Success") + { + if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) + { + doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID); + var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; + localDoorLockObj.UserID = curDoorLockUser.UserID; + localDoorLockObj.UnlockType = curDoorLockUser.UnlockType; + localDoorLockObj.PrimaryId = curDoorLockUser.PrimaryId; + localDoorLockObj.EntryTime = curDoorLockUser.EntryTime; + localDoorLockObj.UserName = refreshDoorLockData.UserIdRemarks; + localDoorLockObj.ConnectedAccount = curAccountObj.SubAccountDistributedMark; + doorLock.localDoorLockUserList.Add(curDoorLockUser.UserID, localDoorLockObj); + UndateUnlockMethodAction += (obj1) => + { + RefreshList(obj1); + }; + TypeRefresh(doorLock); + } + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ModigfyFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); } } else { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ModigfyFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); } - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); - } - }; - btnDoorlockUser.EditorEnterAction += action; - - btnDel.MouseUpEventHandler += (sender, e) => - { - var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.SureToDelUnlockMethod), - Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); - alert.Show(); - alert.ResultEventHandler += async (sender1, e1) => - { - if (e1) - { - var passData = doorLock.SetUserAccessData(curDoorLockUser.UserID, ZigBee.Device.DoorLock.AccessType.DelCurrentUser); - var resultData = await doorLock.DefaultControlAsync(passData); - if (resultData != null && resultData.defaultControlResponseData != null) - { - if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2) - { - var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - deleteDoorLockData.IsOtherAccountCtrl = true; - } - if (doorLock.DeviceAddr != null) - { - deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString(); - deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId; - deleteDoorLockData.DelDoorLockDelType = 2; - var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); - if (result != null) - { - if (result.StateCode == "Success") - { - isSecondDel = false; - if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) - { - doorLock.localDoorLockAccountList.Remove(curDoorLockUser.ConnectedAccount); - var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; - localDoorLockObj.UserID = curDoorLockUser.UserID; - doorLock.localDoorLockUserList.Remove(curUserId); - doorLock.ReSave(); - RefreshList(); - } - } - else - { - //寮�鍏冲浘鏍� - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); - } - } - else - { - isSecondDel = true; - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); - } - } - else - { - if (isSecondDel) - { - var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - deleteDoorLockData.IsOtherAccountCtrl = true; - } - if (doorLock.DeviceAddr != null) - { - deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString(); - deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId; - deleteDoorLockData.DelDoorLockDelType = 2; - var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); - if (result != null) - { - if (result.StateCode == "Success") - { - isSecondDel = false; - if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) - { - doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID); - var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; - localDoorLockObj.UserID = curDoorLockUser.UserID; - doorLock.localDoorLockUserList.Remove(curUserId); - RefreshList(); - } - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); - } - } - else - { - isSecondDel = true; - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); - } - } - else - { - if (curDoorLockUser.UserID < 10) - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.OnlyBeDeletedOnTheDevice), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); - } - } - } - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); - } - } - }; - }; - #endregion - } - } - - // 渚ц竟瀵艰埅鏍� - void SideslipFramelayout() - { - var dialog = new Dialog - { - }; - dialog.Show(); - - var flMain = new FrameLayout { BackgroundColor = 0x00000000 }; - dialog.AddChidren(flMain); - flMain.MouseUpEventHandler += (sender11, e11) => - { - dialog.Close(); - }; - - var sidelipFrameLayout = new FrameLayout() - { - Height = Application.GetRealHeight(625), - Width = Application.GetRealWidth(449), - Y = Application.GetRealHeight(115 + 160), - X = Application.GetRealWidth(596), - BackgroundImagePath = "DoorLock/SideslipPic.png", - }; - flMain.AddChidren(sidelipFrameLayout); - - var sidelipVerticalScrolViewLayout = new VerticalScrolViewLayout() - { - Height = Application.GetRealHeight(600), - Y = Application.GetRealHeight(28), - }; - sidelipFrameLayout.AddChidren(sidelipVerticalScrolViewLayout); - Button oldbutton = null; - Button oldbuttonText = null; - for (var i = 0; i < 4; i++) - { - var rowFrameLayout = new RowLayout() - { - Height = Application.GetRealHeight(150), - }; - sidelipVerticalScrolViewLayout.AddChidren(rowFrameLayout); - - var btnAllMethod = new Button() - { - Width = Application.GetRealWidth(81), - Height = Application.GetRealHeight(81), - X = Application.GetRealWidth(81), - Y = Application.GetRealHeight(55), - }; - rowFrameLayout.AddChidren(btnAllMethod); - - var btnMethodText = new Button() - { - Width = Application.GetRealWidth(311), - Height = Application.GetRealHeight(58), - X = Application.GetRealWidth(173), - Y = Application.GetRealHeight(69), - TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, - TextSize = 14, - TextAlignment = TextAlignment.CenterLeft, - }; - rowFrameLayout.AddChidren(btnMethodText); - - EventHandler<MouseEventArgs> hander = (sender, e) => - { - if (!btnAllMethod.IsSelected) - { - if (oldbutton != null) - { - oldbutton.IsSelected = false; - } - if (oldbuttonText != null) - { - oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3; - } - oldbutton = btnAllMethod; - oldbuttonText = btnMethodText; - doorLock.currentUserDisplayMethod = btnMethodText.Text; - btnAllMethod.IsSelected = true; - oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; - - // 绫诲瀷鍖哄垎 - if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.AllMethod)) - { - RefreshList(); - } - if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.PasswordUnlock)) - { - DisplayByType(0); - } - if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FingerprintUnlock)) - { - DisplayByType(15); - } - if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock)) - { - DisplayByType(3); - } - } - dialog.Close(); - }; - rowFrameLayout.MouseUpEventHandler += hander; - btnAllMethod.MouseUpEventHandler += hander; - btnMethodText.MouseUpEventHandler += hander; - - switch (i) - { - case 0: - btnAllMethod.UnSelectedImagePath = "DoorLock/AllMethod.png"; - btnAllMethod.SelectedImagePath = "DoorLock/AllMethodOn.png"; - btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.AllMethod); - break; - case 1: - btnAllMethod.UnSelectedImagePath = "DoorLock/Password.png"; - btnAllMethod.SelectedImagePath = "DoorLock/PasswordOn.png"; - btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.PasswordUnlock); - break; - case 2: - btnAllMethod.UnSelectedImagePath = "DoorLock/Fingerprint.png"; - btnAllMethod.SelectedImagePath = "DoorLock/FingerprintOn.png"; - btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.FingerprintUnlock); - break; - case 3: - btnAllMethod.UnSelectedImagePath = "DoorLock/proximityCard.png"; - btnAllMethod.SelectedImagePath = "DoorLock/proximityCardOn.png"; - btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock); - break; + }; + btnDoorlockUser.EditorEnterAction += action; + #endregion + i++; } - - if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.AllMethod) && i == 0) - { - btnAllMethod.IsSelected = true; - btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; - oldbutton = btnAllMethod; - oldbuttonText = btnMethodText; - } - if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.PasswordUnlock) && i == 1) - { - btnAllMethod.IsSelected = true; - btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; - oldbutton = btnAllMethod; - oldbuttonText = btnMethodText; - } - if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FingerprintUnlock) && i == 2) - { - btnAllMethod.IsSelected = true; - btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; - oldbutton = btnAllMethod; - oldbuttonText = btnMethodText; - } - if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock) && i == 3) - { - btnAllMethod.IsSelected = true; - btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; - oldbutton = btnAllMethod; - oldbuttonText = btnMethodText; - } - } - } - - /// <summary> - /// 閫氳繃绫诲瀷绛涢�夋樉绀� - /// </summary> - public void DisplayByType(int unlockMethod) - { - bodyView.RemoveAll(); - var curAccountDoorLockUserList = new Dictionary<int, ZigBee.Device.DoorLock.LocaDoorLockObj>(); - - foreach (var curUserId in doorLock.localDoorLockUserList.Keys) - { - var curDoorLockUser = doorLock.localDoorLockUserList[curUserId]; - - if (curDoorLockUser.ConnectedAccount == "" || curDoorLockUser.ConnectedAccount != curAccountObj.SubAccountDistributedMark) - { - continue; - } - else - { - curAccountDoorLockUserList.Add(curDoorLockUser.UserID, curDoorLockUser); - } - } - - if (curAccountDoorLockUserList.Count == 0) - { - entryStatusPic.Visible = true; - btnPicTip.Visible = true; - btnPicTip1.Visible = true; - } - else - { - entryStatusPic.Visible = false; - btnPicTip.Visible = false; - btnPicTip1.Visible = false; - } - - foreach (var curUserId in curAccountDoorLockUserList.Keys) - { - var curDoorLockUser = curAccountDoorLockUserList[curUserId]; - if (curDoorLockUser.UnlockType != unlockMethod) - { - continue; - } - #region UI - var rowFrameLayout = new RowLayout() - { - Height = Application.GetRealHeight(173), - X = Application.GetRealWidth(58), - Width = Application.GetRealWidth(965), - LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine, - }; - bodyView.AddChidren(rowFrameLayout); - - var btnPicFrameLayout = new FrameLayout() - { - Width = Application.GetRealWidth(81), - Height = Application.GetRealHeight(81), - X = Application.GetRealWidth(40), - Y = Application.GetRealHeight(49), - }; - rowFrameLayout.AddChidren(btnPicFrameLayout); - - var btnPic = new Button() - { - Width = Application.GetRealWidth(84), - Height = Application.GetRealHeight(84), - UnSelectedImagePath = "DoorLock/DoorLockUserPic.png", - }; - btnPicFrameLayout.AddChidren(btnPic); - - var btnDoorlockUser = new EditText() - { - Width = Application.GetRealWidth(1080 - 173), - Height = Application.GetRealHeight(60), - X = Application.GetRealWidth(173), - Y = Application.GetRealHeight(35), - TextSize = 14, - PlaceholderTextColor = Shared.Common.ZigbeeColor.Current.XMGray3, - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, - TextAlignment = TextAlignment.CenterLeft, - }; - rowFrameLayout.AddChidren(btnDoorlockUser); - - var btnMember = new Button() - { - Width = Application.GetRealWidth(1080 - 173), - Height = Application.GetRealHeight(49), - X = Application.GetRealWidth(173), - Y = Application.GetRealHeight(95), - TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, - TextSize = 14, - TextAlignment = TextAlignment.CenterLeft, - }; - rowFrameLayout.AddChidren(btnMember); - - var btnDel = new Button() - { - Width = Application.GetRealWidth(1080 - 173), - Height = Application.GetRealHeight(49), - X = Application.GetRealWidth(173), - Y = Application.GetRealHeight(95), - Text = Language.StringByID(R.MyInternationalizationString.DelBindDevice), - TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, - TextSize = 12, - TextAlignment = TextAlignment.Center, - BackgroundColor = Shared.Common.ZigbeeColor.Current.XMDel, - }; - rowFrameLayout.AddRightView(btnDel); - #endregion - #region 鏁版嵁澶勭悊 - switch (curDoorLockUser.UnlockType) - { - case 0: - if (curDoorLockUser.UserName != "" && curDoorLockUser.UserName != null) - { - btnDoorlockUser.Text = curDoorLockUser.UserName; - } - else - { - btnDoorlockUser.Text = Language.StringByID(R.MyInternationalizationString.Password) + "ID" + curDoorLockUser.UserID; - } - break; - case 3: - if (curDoorLockUser.UserName != "" && curDoorLockUser.UserName != null) - { - btnDoorlockUser.Text = curDoorLockUser.UserName; - } - else - { - btnDoorlockUser.Text = Language.StringByID(R.MyInternationalizationString.IcCard) + "ID" + curDoorLockUser.UserID; - } - break; - case 15: - if (curDoorLockUser.UserName != "" && curDoorLockUser.UserName != null) - { - btnDoorlockUser.Text = curDoorLockUser.UserName; - } - else - { - btnDoorlockUser.Text = Language.StringByID(R.MyInternationalizationString.Fingerprint) + "ID" + +curDoorLockUser.UserID; - } - break; - } - - if (curAccountObj.UserName == "" || curAccountObj.UserName == null) - { - btnMember.Text = curAccountObj.Account; - } - else - { - btnMember.Text = curAccountObj.UserName; - } - - Action<Shared.View> action = async (obj) => - { - 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.UnlockType; - refreshDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString(); - refreshDoorLockData.PrimaryId = curDoorLockUser.PrimaryId; - refreshDoorLockData.UserIdRemarks = btnDoorlockUser.Text; - var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData); - if (result != null) - { - if (result.StateCode == "Success") - { - if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) - { - doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID); - var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; - localDoorLockObj.UserID = curDoorLockUser.UserID; - localDoorLockObj.UnlockType = curDoorLockUser.UnlockType; - localDoorLockObj.EntryTime = curDoorLockUser.EntryTime; - localDoorLockObj.UserName = refreshDoorLockData.UserIdRemarks; - localDoorLockObj.ConnectedAccount = curAccountObj.SubAccountDistributedMark; - doorLock.localDoorLockUserList.Add(curDoorLockUser.UserID, localDoorLockObj); - RefreshList(); - } - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ModigfyFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); - } - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); - } - }; - btnDoorlockUser.EditorEnterAction += action; - - btnDel.MouseUpEventHandler += (sender, e) => - { - var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.SureToDelUnlockMethod), - Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); - alert.Show(); - alert.ResultEventHandler += async (sender1, e1) => - { - if (e1) - { - var passData = doorLock.SetUserAccessData(curDoorLockUser.UserID, ZigBee.Device.DoorLock.AccessType.DelCurrentUser); - var resultData = await doorLock.DefaultControlAsync(passData); - if (resultData != null && resultData.defaultControlResponseData != null) - { - if (resultData.defaultControlResponseData.status == 0) - { - var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - deleteDoorLockData.IsOtherAccountCtrl = true; - } - if (doorLock.DeviceAddr != null) - { - deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString(); - deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId; - deleteDoorLockData.DelDoorLockDelType = 2; - var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); - if (result != null) - { - if (result.StateCode == "Success") - { - if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) - { - doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID); - var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; - localDoorLockObj.UserID = curDoorLockUser.UserID; - doorLock.localDoorLockUserList.Remove(curUserId); - RefreshList(); - } - } - else - { - if (curDoorLockUser.UserID < 10) - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.OnlyBeDeletedOnTheDevice), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); - } - } - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); - } - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); - } - - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); - } - } - }; - }; - #endregion } } @@ -995,21 +718,9 @@ /// </summary> public override void RemoveFromParent() { + UserView.HomePage.Instance.ScrollEnabled = true; ZbGateway.StatusList.Remove(this); base.RemoveFromParent(); - } - - - - public void Changed(CommonDevice common) - { - } - public void ChangedILogicStatus(ZigBee.Device.Logic logic) - { - } - - public void ChangedISceneStatus(Scene scene) - { } } } -- Gitblit v1.8.0