using System; namespace Shared.SimpleControl.Phone { public class DoorLockSystemSetting : FrameLayout { DoorLock doorLock; public DoorLockSystemSetting (DoorLock doorLock) { this.doorLock = doorLock; BackgroundColor = SkinStyle.Current.MainColor; } /// /// 读门锁时钟 /// /// Door lock. void readStatus (DoorLock door_lock) { System.Threading.Tasks.Task.Run (() => { byte [] resultBytes = Control.ControlBytesSendHasReturn (Command.ReadDoorLockClock, door_lock.SubnetID, door_lock.DeviceID, new byte [] { door_lock.PhysicsLoopID }); IO.FileUtils.SaveEquipmentMessage (door_lock, door_lock.PhysicsLoopID.ToString ()); }); } public void ShowUserRemoteUnLock () { #region 标题 var topView = new FrameLayout () { Y = Application.GetRealHeight (36), Height = Application.GetRealHeight (90), BackgroundColor = SkinStyle.Current.MainColor, }; AddChidren (topView); var title = new Button () { TextAlignment = TextAlignment.Center, TextID = R.MyInternationalizationString.SystemSetting, TextColor = SkinStyle.Current.TextColor1, TextSize = 19, }; topView.AddChidren (title); var logo = new Button () { Width = Application.GetRealWidth (154), Height = Application.GetRealHeight (90), X = Application.GetRealWidth (486), UnSelectedImagePath = MainPage.LogoString, Gravity = Gravity.CenterVertical, }; topView.AddChidren (logo); var back = new Button () { Height = Application.GetRealHeight (90), Width = Application.GetRealWidth (85), UnSelectedImagePath = "Item/Back.png", SelectedImagePath = "Item/BackSelected.png", Gravity = Gravity.CenterVertical, }; topView.AddChidren (back); back.MouseUpEventHandler += (sender, e) => { this.RemoveFromParent (); }; #endregion #region bodyScrolView VerticalScrolViewLayout bodyFrameLayout = new VerticalScrolViewLayout () { Height = Application.GetRealHeight (Application.DesignHeight - 126), BackgroundColor = SkinStyle.Current.ViewColor, Y = topView.Bottom, }; AddChidren (bodyFrameLayout); for (int i = 0; i < 2; i++) { //if (i == 2 || i == 4) //continue; FrameLayout RowView = new FrameLayout () { Height = Application.GetRealHeight (110), BackgroundColor = SkinStyle.Current.ViewColor, }; bodyFrameLayout.AddChidren (RowView); Button btnIcon = new Button () { Width = Application.GetRealHeight (13), Height = Application.GetRealHeight (13), X = Application.GetRealWidth (40), UnSelectedImagePath = "Item/Point.png", SelectedImagePath = "Item/PointSelected.png", Gravity = Gravity.CenterVertical, }; RowView.AddChidren (btnIcon); Button UserManagement = new Button () { X = btnIcon.Right + Application.GetRealWidth (20), Width = Application.GetRealWidth (300), Height = Application.GetRealHeight (110), TextAlignment = TextAlignment.CenterLeft, TextColor = SkinStyle.Current.TextColor1, }; RowView.AddChidren (UserManagement); if (i == 0) { UserManagement.TextID = R.MyInternationalizationString.ImprovementTime; } else if (i == 1) { UserManagement.TextID = R.MyInternationalizationString.RemoteUnLockPasswordSetOrModify; } var btnRight = new Button () { Width = Application.GetRealWidth (28), Height = Application.GetRealHeight (40), X = UserManagement.Right + Application.GetRealWidth (200), UnSelectedImagePath = "Item/Right.png", SelectedImagePath = "Item/RightSelected.png", Gravity = Gravity.CenterVertical, }; RowView.AddChidren (btnRight); var line2 = new Button () { Y = RowView.Height - 1, Height = 1, BackgroundColor = SkinStyle.Current.TitileView, }; RowView.AddChidren (line2); int currentIndex = i; EventHandler eHandler = (sender, e) => { if (currentIndex == 0) { var currentTime = DateTime.Now; System.Threading.Tasks.Task.Run (() => { try { Application.RunOnMainThread (() => { MainPage.Loading.Start ("Loading.."); }); var sendBytes = new byte [7]; sendBytes [0] = (byte)(currentTime.Year - 2000); sendBytes [1] = (byte)(currentTime.Month); sendBytes [2] = (byte)(currentTime.Day); sendBytes [3] = (byte)(currentTime.Hour); sendBytes [4] = (byte)(currentTime.Minute); sendBytes [5] = (byte)(currentTime.Second); sendBytes [6] = (byte)(currentTime.DayOfWeek); // string manualSetTime = systemDateManualImprovement.Month + "/" + systemDateManualImprovement.Day + "/" + systemDateManualImprovement.Year + " " + systemTimeManualImprovement.Hour + ":" + systemTimeManualImprovement.Minute; var setPasswordInfoBytes = Control.ControlBytesSendHasReturn (Command.SetDoorLockTime, doorLock.SubnetID, doorLock.DeviceID, sendBytes); if (setPasswordInfoBytes != null && setPasswordInfoBytes [0] == 0xF8) { Application.RunOnMainThread (() => { // CurrentTimeText.Text = manualSetTime; new Tip () { MaxWidth = 150, Text = Language.StringByID (R.MyInternationalizationString.SetSuccessfully), Direction = AMPopTipDirection.Down, CloseTime = 1 }.Show ((View)sender); }); return; } else { Application.RunOnMainThread (() => { new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.OperationFailed), Language.StringByID (R.MyInternationalizationString.Close)).Show (); }); return; } } catch (Exception mess) { string message = mess.Message; } finally { Application.RunOnMainThread (() => { MainPage.Loading.Hide (); }); } }); } else if (currentIndex == 1) { RemoteUnLockPasswordSetOrModify dView = new RemoteUnLockPasswordSetOrModify (doorLock); UserMiddle.DevicePageView.AddChidren (dView); dView.ShowShowUserRemoteUnLock (); UserMiddle.DevicePageView.PageIndex = UserMiddle.DevicePageView.ChildrenCount - 1; } }; btnRight.MouseUpEventHandler += eHandler; btnIcon.MouseUpEventHandler += eHandler; RowView.MouseUpEventHandler += eHandler; UserManagement.MouseUpEventHandler += eHandler; } #endregion } } }