using System; using System.Collections.Generic; using System.Runtime.CompilerServices; namespace Shared.Phone.UserCenter.DoorLock { public class DoorLockCommonInfo : ZigBee.Device.DoorLock { public DoorLockCommonInfo() { } public class DoorLockFingerprintInfo { /// /// 指纹备注 /// public string fingerprintRemark = string.Empty; /// /// 指纹图片 /// public string fingerprintImage = string.Empty; } /// /// 所有方式选择 /// public void SideslipFramelayout(ZigBee.Device.DoorLock doorLock) { //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 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; // } // 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; // } //} } /// /// 通过类型筛选显示 /// public void DisplayByType(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes curAccountObj, int unlockMethod, VerticalScrolViewLayout bodyView, Button entryStatusPic, Button btnPicTip, Button btnPicTip1) { //bodyView.RemoveAll(); //var curAccountDoorLockUserList = new Dictionary(); //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.Delete), // 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 != "") // { // btnDoorlockUser.Text = curDoorLockUser.UserName; // } // else // { // btnDoorlockUser.Text = Language.StringByID(R.MyInternationalizationString.Password) + "ID" + curDoorLockUser.UserID; // } // break; // case 3: // if (curDoorLockUser.UserName != "") // { // btnDoorlockUser.Text = curDoorLockUser.UserName; // } // else // { // btnDoorlockUser.Text = Language.StringByID(R.MyInternationalizationString.IcCard) + "ID" + curDoorLockUser.UserID; // } // break; // case 15: // if (curDoorLockUser.UserName != "") // { // btnDoorlockUser.Text = curDoorLockUser.UserName; // } // else // { // btnDoorlockUser.Text = Language.StringByID(R.MyInternationalizationString.Fingerprint) + "ID" + +curDoorLockUser.UserID; // } // break; // } // if (curAccountObj.UserName == "") // { // btnMember.Text = curAccountObj.Account; // } // else // { // btnMember.Text = curAccountObj.UserName; // } // Action action = async (obj) => // { // var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData(); // refreshDoorLockData.CloudAccountId = curAccountObj.SubAccountDistributedMark; // 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("App/UpdateDoorLock", refreshDoorLockData); // 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); // } // }; // 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.responseData != null) // { // if (resultData.responseData.status == 0) // { // var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); // 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("App/DelDoorLock", deleteDoorLockData); // 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; // //new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveSuccess), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); // doorLock.localDoorLockUserList.Remove(curUserId); // RefreshList(); // } // } // else // { // if (curDoorLockUser.UserID < 10) // { // } // 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.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); // } // } // else // { // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); // } // } // }; // }; // #endregion //} } } }