ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide | 补丁 | 查看 | 原始文档 | blame | 历史 | |
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/EntryStatusPage.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml
@@ -2,18 +2,15 @@ <MonoDevelop.Ide.ItemProperties.GateWay.Droid PreferredExecutionTarget="Android.5c86e4357d63" /> <MonoDevelop.Ide.ItemProperties.GateWay.Ios PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneSimulatorTarget.B2DE3886-169F-4A06-8F62-51254112D190" /> <MonoDevelop.Ide.ItemProperties.ShardLib PreferredExecutionTarget="Android.M7BBB18B19152766" /> <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs"> <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/ZigBee/Device/ZbGateway.cs"> <Files> <File FileName="Shared/Phone/UserCenter/DoorLock/UserManagement.cs" Line="153" Column="15" /> <File FileName="Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs" Line="130" Column="15" /> <File FileName="Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs" Line="87" Column="1" /> <File FileName="Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs" Line="9" Column="6" /> <File FileName="Shared/Phone/ZigBee/Device/ZbGateway.cs" Line="3424" Column="41" /> <File FileName="Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs" Line="59" Column="9" /> <File FileName="Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs" Line="34" Column="87" /> <File FileName="Shared/Phone/ZigBee/Device/DoorLock.cs" Line="2054" Column="1" /> <File FileName="Shared/Phone/UserCenter/DoorLock/MasterManagementPage.cs" Line="54" Column="15" /> <File FileName="Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs" Line="74" Column="15" /> <File FileName="Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs" Line="189" Column="41" /> <File FileName="Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs" Line="64" Column="10" /> <File FileName="Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs" Line="69" Column="24" /> <File FileName="Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs" Line="169" Column="42" /> <File FileName="Shared/Phone/Device/Category/Category.cs" Line="1466" Column="1" /> <File FileName="Shared/Phone/Device/Category/Category.cs" Line="1468" Column="26" /> <File FileName="Shared/Phone/ZigBee/Device/ZbGateway.cs" Line="3347" Column="16" /> </Files> <Pads> <Pad Id="ProjectPad"> @@ -21,13 +18,12 @@ <Node name="GateWay" expanded="True"> <Node name="Shared" expanded="True"> <Node name="Phone" expanded="True"> <Node name="UserCenter" expanded="True"> <Node name="DoorLock" expanded="True"> <Node name="MemberFrozenPage.cs" selected="True" /> </Node> </Node> <Node name="ZigBee" expanded="True"> <Node name="Device" expanded="True" /> <Node name="UserCenter" expanded="True" /> <Node name="ZigBee" expanded="True"> <Node name="Device" expanded="True"> <Node name="ZbGateway.cs" selected="True" /> </Node> </Node> </Node> </Node> @@ -45,10 +41,9 @@ <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug|iPhoneSimulator" /> <MonoDevelop.Ide.DebuggingService.Breakpoints> <BreakpointStore> <Breakpoint file="/Users/hdl/Desktop/git/HomeApp20191118/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs" relfile="Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs" line="282" column="14" /> <Breakpoint file="/Users/hdl/Desktop/git/HomeApp20191118/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs" relfile="Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs" line="283" column="14" /> <Breakpoint file="/Users/hdl/Desktop/git/HomeApp20191118/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs" relfile="Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs" line="438" column="1" /> <Breakpoint file="/Users/hdl/Desktop/git/HomeApp20191118/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs" relfile="Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs" line="439" column="1" /> <Breakpoint file="/Users/hdl/Desktop/git/HomeApp20191118/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs" relfile="Shared/Phone/ZigBee/Device/ZbGateway.cs" line="3352" column="1" /> <Breakpoint file="/Users/hdl/Desktop/git/HomeApp20191118/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs" relfile="Shared/Phone/ZigBee/Device/ZbGateway.cs" line="3350" column="1" /> <Breakpoint file="/Users/hdl/Desktop/git/HomeApp20191118/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs" relfile="Shared/Phone/ZigBee/Device/ZbGateway.cs" line="3292" column="1" /> </BreakpointStore> </MonoDevelop.Ide.DebuggingService.Breakpoints> <MultiItemStartupConfigurations /> ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ideBinary files differ
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/EntryStatusPage.csold mode 100755 new mode 100644
@@ -267,6 +267,7 @@ if (form is UnLockMethod) { doorLock.currentUserDisplayMethod = ""; ((UnLockMethod)form).RefreshList(); break; } ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.csold mode 100755 new mode 100644
@@ -62,7 +62,6 @@ public void MidFrameLayoutContent() { var MidTopFrameLayout = new FrameLayout() { X = Application.GetRealWidth(449), ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs
@@ -89,6 +89,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 +171,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() { @@ -251,7 +272,7 @@ /// </summary> /// <param name="gateway"></param> /// <param name="key"></param> public void RefreshList() public void RefreshList(int unlockMethod = -1) { this.midFrameLayout.RemoveAll(); MidFrameLayoutContent(); @@ -302,6 +323,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 +412,7 @@ }; rowFrameLayout.AddRightView(btnDel); #endregion #region 数据处理 int currentIndex = i; if (currentIndex == curAccountDoorLockUserList.Keys.Count - 1) @@ -472,6 +518,9 @@ { if (e1) { try { 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) @@ -580,6 +629,12 @@ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); } } catch { } finally { CommonPage.Loading.Hide(); } } }; }; #endregion @@ -666,6 +721,7 @@ oldbutton = btnAllMethod; oldbuttonText = btnMethodText; doorLock.currentUserDisplayMethod = btnMethodText.Text; doorLock.ReSave(); btnAllMethod.IsSelected = true; oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; @@ -676,15 +732,15 @@ } if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.PasswordUnlock)) { DisplayByType(0); RefreshList(0); } if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FingerprintUnlock)) { DisplayByType(15); RefreshList(15); } if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock)) { DisplayByType(3); RefreshList(3); } } dialog.Close(); @@ -717,6 +773,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; @@ -749,305 +812,6 @@ } /// <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) { 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); } 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); } } /// <summary> /// 重写移除方法 /// </summary> public override void RemoveFromParent() @@ -1055,8 +819,6 @@ ZbGateway.StatusList.Remove(this); base.RemoveFromParent(); } public void Changed(CommonDevice common) { ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs
@@ -23,6 +23,7 @@ string currentType = string.Empty; List<Shared.Phone.UserCenter.MemberInfoRes> localAccountList; VerticalRefreshLayout bodyView; Dictionary<int, DoorLockCommonInfo.LocaDoorLockObj> oldLocalDoorLockUserList = new Dictionary<int, DoorLockCommonInfo.LocaDoorLockObj>(); #endregion void ReadDoorLockUserInfo() @@ -32,6 +33,16 @@ try { var list = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllAcountUserlist(doorLock); if (oldLocalDoorLockUserList.Count != 0) { if (list.Count == 0) { Application.RunOnMainThread(() => { new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); }); } } } catch { } finally @@ -50,6 +61,7 @@ /// </summary> public void Show() { doorLock.currentUserDisplayMethod = ""; this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.UndistributedUnlockMethod)); this.btnTitleLine.Visible = false; EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => @@ -87,11 +99,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() { @@ -130,8 +162,10 @@ }; } void RefreshList() void RefreshList(int unlockMethod = -1) { this.midFrameLayout.RemoveAll(); MidFrameLayoutContent(); bodyView.RemoveAll(); var curLocalDoorLockUserList = new Dictionary<int, DoorLockCommonInfo.LocaDoorLockObj>(); @@ -152,7 +186,31 @@ int i = 0; foreach (var curUserId in curLocalDoorLockUserList.Keys) { oldLocalDoorLockUserList = curLocalDoorLockUserList; var curDoorLockUser = curLocalDoorLockUserList[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; } var rowFrameLayout = new FrameLayout() { Height = Application.GetRealHeight(127 + 23), @@ -522,7 +580,27 @@ var d = uList.Find((value) => { return value == curDoorLockUser.UserID; }); if (d != null) { // 类型区分 if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.AllMethod)) { RefreshList(); } else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.PasswordUnlock)) { RefreshList(0); } else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FingerprintUnlock)) { RefreshList(15); } else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock)) { RefreshList(3); } else if (doorLock.currentUserDisplayMethod == "") { RefreshList(); } flMain.RemoveFromParent(); bottomFrameLayout.RemoveAll(); } @@ -635,15 +713,15 @@ } if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.PasswordUnlock)) { DisplayByType(0); RefreshList(0); } if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FingerprintUnlock)) { DisplayByType(15); RefreshList(15); } if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock)) { DisplayByType(3); RefreshList(3); } } dialog.Close(); @@ -676,6 +754,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; @@ -707,126 +792,6 @@ } } // 通过类型筛选显示 void DisplayByType(int unlockMethod) { bodyView.RemoveAll(); var curLocalDoorLockUserList = new Dictionary<int, DoorLockCommonInfo.LocaDoorLockObj>(); foreach (var curUserId in doorLock.localDoorLockUserList.Keys) { var curDoorLockUser = doorLock.localDoorLockUserList[curUserId]; if (curDoorLockUser.ConnectedAccount != "" || curDoorLockUser.UnlockType != unlockMethod) { continue; } curLocalDoorLockUserList.Add(curUserId, curDoorLockUser); } int i = 0; foreach (var curUserId in curLocalDoorLockUserList.Keys) { var curDoorLockUser = curLocalDoorLockUserList[curUserId]; var rowFrameLayout = new FrameLayout() { Height = Application.GetRealHeight(150), BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, }; bodyView.AddChidren(rowFrameLayout); var btnDistributeUnlockIconFrameLayout = new FrameLayout() { Height = Application.GetRealHeight(84), Width = Application.GetRealWidth(84), X = Application.GetRealWidth(58), Y = Application.GetRealHeight(43), }; rowFrameLayout.AddChidren(btnDistributeUnlockIconFrameLayout); var btnDistributeUnlockIcon = new Button() { Height = Application.GetRealHeight(84), Width = Application.GetRealWidth(84), UnSelectedImagePath = "DoorLock/DistributeUnlockIcon.png", }; btnDistributeUnlockIconFrameLayout.AddChidren(btnDistributeUnlockIcon); var btnText = new Button() { X = Application.GetRealWidth(176), Width = Application.GetRealWidth(300), Height = Application.GetRealHeight(300), TextAlignment = TextAlignment.CenterLeft, TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, Gravity = Gravity.CenterVertical, }; rowFrameLayout.AddChidren(btnText); var line2 = new Button() { Y = rowFrameLayout.Height - 1, X = Application.GetRealWidth(58), Width = Application.GetRealWidth(965), Height = 1, BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine, }; rowFrameLayout.AddChidren(line2); #region 数据处理 int currentIndex = i; if (currentIndex == curLocalDoorLockUserList.Keys.Count - 1) { line2.Visible = false; } switch (curDoorLockUser.UnlockType) { case 0: if (curDoorLockUser.UserName != "") { btnText.Text = curDoorLockUser.UserName; } else { btnText.Text = Language.StringByID(R.MyInternationalizationString.Password) + "ID" + curDoorLockUser.UserID; } break; case 3: if (curDoorLockUser.UserName != "") { btnText.Text = curDoorLockUser.UserName; } else { btnText.Text = Language.StringByID(R.MyInternationalizationString.IcCard) + "ID" + curDoorLockUser.UserID; } break; case 15: if (curDoorLockUser.UserName != "") { btnText.Text = curDoorLockUser.UserName; } else { btnText.Text = Language.StringByID(R.MyInternationalizationString.Fingerprint) + "ID" + +curDoorLockUser.UserID; } break; } EventHandler<MouseEventArgs> eHandler = (sender, e) => { MatchUsersFrameLayout(curDoorLockUser); }; btnDistributeUnlockIcon.MouseUpEventHandler += eHandler; btnDistributeUnlockIconFrameLayout.MouseUpEventHandler += eHandler; rowFrameLayout.MouseUpEventHandler += eHandler; btnText.MouseUpEventHandler += eHandler; #endregion i++; } } #region ◆ 接口实现__________________________ /// <summary> /// 处理变化事件 --将弃用 改用DeviceInfoChange()