From a2d26f15b940c853faaf6d6959b16a6d919cb800 Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期三, 27 十一月 2019 19:26:30 +0800 Subject: [PATCH] 请合并最新的代码(完成门锁功能) --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs | 559 +++++++++++++++++-------------------------------------- 1 files changed, 170 insertions(+), 389 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs index 76083c2..b5c8250 100644 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs @@ -54,6 +54,7 @@ Button btnPicTip; Button btnPicTip1; bool isSecondDel; + FrameLayout blankFrameLayout; #endregion void ReadDoorLockUserInfo() @@ -77,7 +78,8 @@ { Application.RunOnMainThread(() => { - RefreshList(); + // 绫诲瀷鍖哄垎 + TypeRefresh(); CommonPage.Loading.Hide(); }); } @@ -89,6 +91,7 @@ /// </summary> public void Show() { + doorLock.currentUserDisplayMethod = ""; this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.LockMethod)); this.btnTitleLine.Visible = false; EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => @@ -170,11 +173,31 @@ Y = Application.GetRealHeight(35), X = Application.GetRealWidth(812 - 100), TextAlignment = TextAlignment.CenterRight, - Text = Language.StringByID(R.MyInternationalizationString.AllMethod), TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText, TextSize = 12, }; 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 + { + btnAllMethod.Text = Language.StringByID(R.MyInternationalizationString.AllMethod); + } var btnNext = new Button() { @@ -200,26 +223,49 @@ this.midFrameLayout.AddChidren(btnLine); #endregion + bodyView = new VerticalRefreshLayout() + { + Y = btnLine.Bottom, + Height = Application.GetRealHeight(1921 - 184 - 116), + }; + this.midFrameLayout.AddChidren(bodyView); + bodyView.BeginHeaderRefreshingAction += () => + { + bodyView.BeginHeaderRefreshing(); + ReadDoorLockUserInfo(); + bodyView.EndHeaderRefreshing(); + }; + BlankPicUI(); + } + + void BlankPicUI() + { + blankFrameLayout = new FrameLayout + { + }; + 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", }; - this.midFrameLayout.AddChidren(entryStatusPic); + blankFrameLayout.AddChidren(entryStatusPic); - #region 绌哄浘鐗� btnPicTip = new Button { X = Application.GetRealWidth(397), - Y = Application.GetRealHeight(844), Text = Language.StringByID(R.MyInternationalizationString.NoPasswordInformation), TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, Gravity = Gravity.CenterHorizontal, Visible = false, + Y = Application.GetRealHeight(844), }; - this.midFrameLayout.AddChidren(btnPicTip); + blankFrameLayout.AddChidren(btnPicTip); btnPicTip1 = new Button { @@ -229,21 +275,9 @@ TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, Gravity = Gravity.CenterHorizontal, Visible = false, + BackgroundColor = 0xff00ff00, }; - this.midFrameLayout.AddChidren(btnPicTip1); - #endregion - - bodyView = new VerticalRefreshLayout() - { - Y = btnLine.Bottom, - }; - this.midFrameLayout.AddChidren(bodyView); - bodyView.BeginHeaderRefreshingAction += () => - { - bodyView.BeginHeaderRefreshing(); - ReadDoorLockUserInfo(); - bodyView.EndHeaderRefreshing(); - }; + blankFrameLayout.AddChidren(btnPicTip1); } /// <summary> @@ -251,11 +285,11 @@ /// </summary> /// <param name="gateway"></param> /// <param name="key"></param> - public void RefreshList() + public void RefreshList(int unlockMethod = -1) { + bodyView.RemoveAll(); this.midFrameLayout.RemoveAll(); MidFrameLayoutContent(); - bodyView.RemoveAll(); var curAccountDoorLockUserList = new Dictionary<int, ZigBee.Device.DoorLock.LocaDoorLockObj>(); foreach (var curUserId in doorLock.localDoorLockUserList.Keys) { @@ -276,22 +310,24 @@ 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); - bodyView.Height = Application.GetRealHeight(0); + blankFrameLayout.Height = bodyView.Height; } else { - bodyView.Height = Application.GetRealHeight(1921 - 184 - 116); 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); var frameLayoutRow = new FrameLayout() { Height = Application.GetMinRealAverage(0), @@ -302,6 +338,30 @@ foreach (var curUserId in curAccountDoorLockUserList.Keys) { var curDoorLockUser = curAccountDoorLockUserList[curUserId]; + switch (unlockMethod) + { + case 0: + if (curDoorLockUser.UnlockType != unlockMethod) + { + continue; + } + break; + case 3: + if (curDoorLockUser.UnlockType != unlockMethod) + { + continue; + } + break; + case 15: + if (curDoorLockUser.UnlockType != unlockMethod) + { + continue; + } + break; + default: + break; + } + #region UI var rowFrameLayout = new RowLayout() { @@ -367,6 +427,7 @@ }; rowFrameLayout.AddRightView(btnDel); #endregion + #region 鏁版嵁澶勭悊 int currentIndex = i; if (currentIndex == curAccountDoorLockUserList.Keys.Count - 1) @@ -448,7 +509,7 @@ localDoorLockObj.UserName = refreshDoorLockData.UserIdRemarks; localDoorLockObj.ConnectedAccount = curAccountObj.SubAccountDistributedMark; doorLock.localDoorLockUserList.Add(curDoorLockUser.UserID, localDoorLockObj); - RefreshList(); + TypeRefresh(); } } else @@ -472,56 +533,14 @@ { 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) + try { - if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2) + 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) { - 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) + if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2) { var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); if (UserCenterResourse.UserInfo.AuthorityNo != 1) @@ -544,15 +563,17 @@ isSecondDel = false; if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) { - doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID); + doorLock.localDoorLockAccountList.Remove(curDoorLockUser.ConnectedAccount); var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; localDoorLockObj.UserID = curDoorLockUser.UserID; doorLock.localDoorLockUserList.Remove(curUserId); - RefreshList(); + doorLock.ReSave(); + TypeRefresh(); } } else { + //寮�鍏冲浘鏍� new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); } } @@ -564,20 +585,69 @@ } else { - if (curDoorLockUser.UserID < 10) + if (isSecondDel) { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.OnlyBeDeletedOnTheDevice), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); + 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); + TypeRefresh(); + } + } + 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 { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser); + 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); + } } - else + catch { } + finally { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); + CommonPage.Loading.Hide(); } } }; @@ -666,26 +736,10 @@ oldbutton = btnAllMethod; oldbuttonText = btnMethodText; doorLock.currentUserDisplayMethod = btnMethodText.Text; + doorLock.ReSave(); 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); - } + TypeRefresh(); } dialog.Close(); }; @@ -717,6 +771,13 @@ break; } + if (doorLock.currentUserDisplayMethod == "" && i == 0) + { + btnAllMethod.IsSelected = true; + btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + oldbutton = btnAllMethod; + oldbuttonText = btnMethodText; + } if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.AllMethod) && i == 0) { btnAllMethod.IsSelected = true; @@ -748,302 +809,24 @@ } } - /// <summary> - /// 閫氳繃绫诲瀷绛涢�夋樉绀� - /// </summary> - public void DisplayByType(int unlockMethod) + //绫诲瀷鍖哄垎 + void TypeRefresh() { - bodyView.RemoveAll(); - var curAccountDoorLockUserList = new Dictionary<int, ZigBee.Device.DoorLock.LocaDoorLockObj>(); - - foreach (var curUserId in doorLock.localDoorLockUserList.Keys) + if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.PasswordUnlock)) { - var curDoorLockUser = doorLock.localDoorLockUserList[curUserId]; - - if (curDoorLockUser.ConnectedAccount == "" || curDoorLockUser.ConnectedAccount != curAccountObj.SubAccountDistributedMark) - { - continue; - } - else - { - curAccountDoorLockUserList.Add(curDoorLockUser.UserID, curDoorLockUser); - } + RefreshList(0); } - - if (curAccountDoorLockUserList.Count == 0) + else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FingerprintUnlock)) { - bodyView.Height = Application.GetRealHeight(0); - entryStatusPic.Visible = true; - btnPicTip.Visible = true; - btnPicTip1.Visible = true; - entryStatusPic.Height = Application.GetRealHeight(435); - entryStatusPic.Width = Application.GetRealHeight(757); - btnPicTip.Height = Application.GetRealHeight(98 / 2); - btnPicTip1.Height = Application.GetRealHeight(98 / 2); + RefreshList(15); + } + else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock)) + { + RefreshList(3); } else { - entryStatusPic.Visible = false; - btnPicTip.Visible = false; - btnPicTip1.Visible = false; - entryStatusPic.Height = Application.GetRealHeight(0); - entryStatusPic.Width = Application.GetRealHeight(0); - btnPicTip.Height = Application.GetRealHeight(0); - btnPicTip1.Height = Application.GetRealHeight(0); - bodyView.Height = Application.GetRealHeight(1921 - 184 - 116); - - var frameLayoutRow = new FrameLayout() - { - Height = Application.GetMinRealAverage(0), - BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, - }; - bodyView.AddChidren(frameLayoutRow); - int i = 0; - foreach (var curUserId in curAccountDoorLockUserList.Keys) - { - var curDoorLockUser = curAccountDoorLockUserList[curUserId]; - if (curDoorLockUser.UnlockType != unlockMethod) - { - continue; - } - #region UI - var rowFrameLayout = new RowLayout() - { - Height = Application.GetRealHeight(127 + 23), - X = Application.GetRealWidth(58), - Y = i * Application.GetRealHeight(150), - Width = Application.GetRealWidth(965), - LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine, - }; - frameLayoutRow.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 鏁版嵁澶勭悊 - int currentIndex = i; - if (currentIndex == curAccountDoorLockUserList.Keys.Count - 1) - { - rowFrameLayout.LineColor = Shared.Common.ZigbeeColor.Current.XMWhite; - } - 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 - i++; - } - frameLayoutRow.Height = i * Application.GetRealHeight(127 + 23); + RefreshList(); } } @@ -1055,8 +838,6 @@ ZbGateway.StatusList.Remove(this); base.RemoveFromParent(); } - - public void Changed(CommonDevice common) { -- Gitblit v1.8.0