| | |
| | | using System; |
| | | using Java.Sql; |
| | | using System.Linq.Expressions; |
| | | using Newtonsoft.Json.Linq; |
| | | using Shared.Common; |
| | | using ZigBee.Device; |
| | | |
| | |
| | | this.doorLock = doorLock; |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor; |
| | | ZigBee.Device.ZbGateway.StatusList.Add(this); |
| | | ReadTempPasswordData(); |
| | | } |
| | | |
| | | #region ◆ 变量申明__________________________ |
| | |
| | | public System.Collections.Generic.List<Button> pawButtonList = new System.Collections.Generic.List<Button> { };//临时密码中的6位数字 |
| | | Button passwordText; //临时密码 |
| | | FrameLayout MidTopFrameLayout; |
| | | Action<string, string> action;//接收通知 |
| | | Button btnFinifh; |
| | | DateTime cunVDateTime; |
| | | DateTime cunIVDateTime; |
| | | #endregion |
| | | |
| | | /// <summary>
|
| | | /// UI显示 |
| | | /// UI显示
|
| | | /// </summary> |
| | | public void Show() |
| | | { |
| | |
| | | |
| | | EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => |
| | | { |
| | | if (doorLock.Gateway != null || doorLock.Gateway.GwResDataAction != null) |
| | | { |
| | | doorLock.Gateway.GwResDataAction -= action; |
| | | } |
| | | RemoveFromParent(); |
| | | }; |
| | | this.btnBack.MouseUpEventHandler += eHandlerBack; |
| | | this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack; |
| | | this.MidFrameLayout(this); |
| | | |
| | | #region btnDelFrameLayout |
| | | var btnDelFrameLayout = new FrameLayout |
| | | { |
| | | X = Application.GetRealWidth(953), |
| | |
| | | delBackgroundFrameLayout.AddChidren(btnDelText); |
| | | |
| | | EventHandler<MouseEventArgs> eHandler2 = (sender2, e2) => |
| | | { |
| | | ZigBee.Device.DoorLock.LocalTempPassword = ""; |
| | | dialog.Close(); |
| | | }; |
| | | { |
| | | ClearEventHandler(btnDelText, dialog); |
| | | }; |
| | | delBackgroundFrameLayout.MouseDownEventHandler += eHandler2; |
| | | btnDelIcon2.MouseDownEventHandler += eHandler2; |
| | | btnDelText.MouseDownEventHandler += eHandler2; |
| | | }; |
| | | btnDelFrameLayout.MouseDownEventHandler += eHandler; |
| | | btnDelIcon.MouseDownEventHandler += eHandler; |
| | | |
| | | #endregion |
| | | MidTopFrameLayout = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(181), |
| | |
| | | Width = Application.GetRealWidth(118), |
| | | X = Application.GetRealWidth(507), |
| | | Y = Application.GetRealHeight(389), |
| | | Text = "10:00", |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMGray2, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextSize = 14, |
| | |
| | | BottomFrameLayoutContent(); |
| | | |
| | | #region 数据处理 |
| | | string hour = ""; |
| | | string minute = ""; |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour < 10) |
| | | TimeDisplay(validTime, validTimeDate, inValidTime, inValidTimeDate, false); |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify) |
| | | { |
| | | hour = "0" + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour; |
| | | btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; |
| | | btnFinifh.Enable = true; |
| | | } |
| | | else |
| | | { |
| | | hour = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour.ToString(); |
| | | btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; |
| | | btnFinifh.Enable = false; |
| | | } |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute < 10) |
| | | { |
| | | minute = "0" + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute; |
| | | } |
| | | else |
| | | { |
| | | minute = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute.ToString(); |
| | | } |
| | | //有效时间 |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour == 100) |
| | | { |
| | | validTime.Text = "00:00"; |
| | | } |
| | | else |
| | | { |
| | | validTime.Text = hour + ":" + minute; |
| | | } |
| | | |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour < 10) |
| | | { |
| | | hour = "0" + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour; |
| | | } |
| | | else |
| | | { |
| | | hour = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour.ToString(); |
| | | } |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute < 10) |
| | | { |
| | | minute = "0" + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute; |
| | | } |
| | | else |
| | | { |
| | | minute = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute.ToString(); |
| | | } |
| | | |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour == 100) |
| | | { |
| | | inValidTime.Text = "00:00"; |
| | | } |
| | | else |
| | | { |
| | | inValidTime.Text = hour + ":" + minute; |
| | | } |
| | | validTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay + Language.StringByID(R.MyInternationalizationString.Day); |
| | | inValidTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay + Language.StringByID(R.MyInternationalizationString.Day); |
| | | |
| | | if (string.IsNullOrEmpty(ZigBee.Device.DoorLock.LocalTempPassword)) |
| | | if (string.IsNullOrEmpty(doorLock.LocalTempPassword)) |
| | | { |
| | | randomPassword.Text = "- - - - - -"; |
| | | temPasswordVisiable.Visible = false; |
| | | randomPassword.X = Application.GetRealWidth(215); |
| | | randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMGray4; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true; |
| | | } |
| | | else |
| | | { |
| | | randomPassword.Text = ZigBee.Device.DoorLock.LocalTempPassword; |
| | | randomPassword.Text = doorLock.LocalTempPassword; |
| | | temPasswordVisiable.Visible = true; |
| | | } |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable) |
| | | { |
| | | randomPassword.SecureTextEntry = false; |
| | | temPasswordVisiable.IsSelected = true; |
| | | randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMOrange; |
| | | } |
| | | else |
| | | { |
| | | randomPassword.SecureTextEntry = true; |
| | | temPasswordVisiable.IsSelected = false; |
| | | randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMGray4; |
| | | |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable) |
| | | { |
| | | randomPassword.SecureTextEntry = false; |
| | | temPasswordVisiable.IsSelected = true; |
| | | randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMOrange; |
| | | } |
| | | else |
| | | { |
| | | randomPassword.SecureTextEntry = true; |
| | | temPasswordVisiable.IsSelected = false; |
| | | randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMGray4; |
| | | } |
| | | } |
| | | |
| | | topPic.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | randomPassword.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetTempPassword(); |
| | | ZigBee.Device.DoorLock.LocalTempPassword = randomPassword.Text; |
| | | temPasswordVisiable.IsSelected = true; |
| | | temPasswordVisiable.Visible = true; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = true; |
| | | randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMOrange; |
| | | }; |
| | | temPasswordVisiable.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | temPasswordVisiable.IsSelected = !temPasswordVisiable.IsSelected; |
| | |
| | | topPic.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | randomPassword.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetTempPassword(); |
| | | ZigBee.Device.DoorLock.LocalTempPassword = randomPassword.Text; |
| | | doorLock.LocalTempPassword = randomPassword.Text; |
| | | TimeDisplay(validTime, validTimeDate, inValidTime, inValidTimeDate, true); |
| | | btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;//XMUnSelect |
| | | btnFinifh.Enable = true; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true; |
| | | randomPassword.SecureTextEntry = false; |
| | | temPasswordVisiable.IsSelected = true; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = true; |
| | | randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMOrange; |
| | | }; |
| | | |
| | | EventHandler<MouseEventArgs> handerValidTimeDateSet = (sender, e) => |
| | | { |
| | | var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "ValidTime"); |
| | | Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage); |
| | | Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; |
| | | tempPage.Show(); |
| | | |
| | | tempPage.timeSetAction += () => |
| | | { |
| | | MidFrameLayoutContent(); |
| | | }; |
| | | }; |
| | | validTimeDate.MouseUpEventHandler += handerValidTimeDateSet; |
| | | validTime.MouseUpEventHandler += handerValidTimeDateSet; |
| | | EventHandler<MouseEventArgs> handerInValidTimeSet = (sender, e) => |
| | | { |
| | | var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "InValidTime"); |
| | | Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage); |
| | | Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; |
| | | tempPage.Show(); |
| | | tempPage.timeSetAction += () => |
| | | { |
| | | MidFrameLayoutContent(); |
| | | }; |
| | | }; |
| | | inValidTime.MouseUpEventHandler += handerInValidTimeSet; |
| | | inValidTimeDate.MouseUpEventHandler += handerInValidTimeSet; |
| | | #endregion |
| | | } |
| | | //底部界面和数据处理 |
| | |
| | | int curIndex = i; |
| | | EventHandler<MouseEventArgs> hander = (sender, e) => |
| | | { |
| | | if (curIndex == 0) |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify) |
| | | { |
| | | var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "ValidTime"); |
| | | Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage); |
| | | Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; |
| | | tempPage.Show(); |
| | | tempPage.timeSetAction += () => |
| | | if (curIndex == 0) |
| | | { |
| | | MidFrameLayoutContent(); |
| | | }; |
| | | } |
| | | if (curIndex == 1) |
| | | { |
| | | var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "InValidTime"); |
| | | Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage); |
| | | Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; |
| | | tempPage.Show(); |
| | | tempPage.timeSetAction += () => |
| | | var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "ValidTime"); |
| | | Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage); |
| | | Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; |
| | | tempPage.Show(); |
| | | tempPage.timeSetAction += () => |
| | | { |
| | | MidFrameLayoutContent(); |
| | | }; |
| | | } |
| | | if (curIndex == 1) |
| | | { |
| | | MidFrameLayoutContent(); |
| | | }; |
| | | var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "InValidTime"); |
| | | Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage); |
| | | Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; |
| | | tempPage.Show(); |
| | | tempPage.timeSetAction += () => |
| | | { |
| | | MidFrameLayoutContent(); |
| | | }; |
| | | } |
| | | } |
| | | }; |
| | | btnValidTime.MouseDownEventHandler += hander; |
| | |
| | | btnNext.MouseDownEventHandler += hander; |
| | | } |
| | | |
| | | var btnFinifh = new Button() |
| | | btnFinifh = new Button() |
| | | { |
| | | Width = Application.GetRealWidth(907), |
| | | Height = Application.GetRealHeight(127), |
| | |
| | | Y = Application.GetRealHeight(760), |
| | | Radius = (uint)Application.GetRealHeight(120) / 2, |
| | | TextID = R.MyInternationalizationString.Confrim, |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack, |
| | | //BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect, |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect, |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, |
| | | TextSize = 16, |
| | | Enable = false, |
| | | }; |
| | | bottomFrameLayout.AddChidren(btnFinifh); |
| | | |
| | | btnFinifh.MouseUpEventHandler += async (sender, e) => |
| | | { |
| | | FinifhEventHandler(btnFinifh); |
| | | }; |
| | | |
| | | { |
| | | FinifhEventHandler(btnFinifh); |
| | | }; |
| | | } |
| | | |
| | | //确定事件处理 |
| | | async private void FinifhEventHandler(Button btnFinifh) |
| | | void FinifhEventHandler(Button btnFinifh) |
| | | { |
| | | if (ZigBee.Device.DoorLock.LocalTempPassword == "") |
| | | System.Threading.Tasks.Task.Run(async () => |
| | | { |
| | | //请"点击生成"临时密码; |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); |
| | | return; |
| | | Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); |
| | | try |
| | | { |
| | | if (doorLock.LocalTempPassword == "") |
| | | { |
| | | //请"点击生成"临时密码; |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); |
| | | }); |
| | | return; |
| | | } |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour == 100) |
| | | { |
| | | //请设置生效时间; |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip2), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); |
| | | }); |
| | | return; |
| | | } |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth == 0) |
| | | { |
| | | //请设置生效日期; |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip3), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); |
| | | }); |
| | | return; |
| | | } |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour == 100) |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip4), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); |
| | | }); |
| | | return; |
| | | } |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth == 0) |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip5), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | var dNow = DateTime.Now; |
| | | var validDateTime = new DateTime(dNow.Year, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute, dNow.Second); |
| | | var inValidDateTime = new DateTime(dNow.Year, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute, dNow.Second); |
| | | action = (topic, data) => |
| | | { |
| | | var gatewayID = topic.Split('/')[0]; |
| | | var jObjectdata = JObject.Parse(data); |
| | | if (jObjectdata == null) |
| | | { |
| | | return; |
| | | } |
| | | if (topic == $"{gatewayID}/DoorLock/DoorLockProgrammingEventNotificationCommand") |
| | | { |
| | | var ProgrammingEventNotificationData = Newtonsoft.Json.JsonConvert.DeserializeObject<ZigBee.Device.DoorLock.DoorLockProgrammingEventNotificationCommand>(jObjectdata["Data"].ToString()); |
| | | { |
| | | doorLock.doorLockProgrammingEventNotificationCommand = ProgrammingEventNotificationData; |
| | | var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; |
| | | localDoorLockObj.UserID = ProgrammingEventNotificationData.UserID; |
| | | localDoorLockObj.UnlockType = ProgrammingEventNotificationData.ProgramEventSoure; |
| | | var entryTime = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetLocalTime(ProgrammingEventNotificationData.ZigbeeLocalTime); |
| | | localDoorLockObj.EntryTime = entryTime; |
| | | if (!doorLock.localDoorLockUserList.ContainsKey(localDoorLockObj.UserID)) |
| | | { |
| | | doorLock.localDoorLockUserList.Add(ProgrammingEventNotificationData.UserID, localDoorLockObj); |
| | | } |
| | | //临时密码数据存储处理 |
| | | if (ProgrammingEventNotificationData.UserID > 245) |
| | | { |
| | | var tpObj = new ZigBee.Device.DoorLock.TempPasswordObject(); |
| | | tpObj.UserId = ProgrammingEventNotificationData.UserID; |
| | | tpObj.TempPassword = doorLock.LocalTempPassword; |
| | | tpObj.ValidTime = validDateTime; |
| | | tpObj.InValidTime = inValidDateTime; |
| | | doorLock.tempPasswordObject = tpObj; |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | if (doorLock.Gateway != null || doorLock.Gateway.GwResDataAction != null) |
| | | { |
| | | doorLock.Gateway.GwResDataAction += action; |
| | | } |
| | | //设置临时密码到门锁 |
| | | var addOrModifyResult = await doorLock.TempPasswordAsync(doorLock.LocalTempPassword, validDateTime, inValidDateTime); |
| | | if (addOrModifyResult != null && addOrModifyResult.responseData != null && addOrModifyResult.responseData.status == 0) |
| | | { |
| | | System.Threading.Thread.Sleep(1000); |
| | | if (doorLock.tempPasswordObject != null) |
| | | { |
| | | var addDoorLockTempPasswordData = new ZigBee.Device.DoorLock.AddDoorLockTempPasswordData(); |
| | | addDoorLockTempPasswordData.TempPwd = doorLock.tempPasswordObject.TempPassword; |
| | | if (doorLock.DeviceAddr != null) |
| | | { |
| | | addDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; |
| | | } |
| | | addDoorLockTempPasswordData.ValidBeginTime = doorLock.tempPasswordObject.ValidTime; |
| | | addDoorLockTempPasswordData.ValidEndTime = doorLock.tempPasswordObject.InValidTime; |
| | | addDoorLockTempPasswordData.TempPwdId = doorLock.tempPasswordObject.UserId.ToString(); |
| | | //存到云 |
| | | var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLockPwd", addDoorLockTempPasswordData); |
| | | if (result1 != null && result1.StateCode != "Success") |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); |
| | | }); |
| | | return; |
| | | } |
| | | btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect;//XMUnSelect XMBlack |
| | | btnFinifh.Enable = false; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = false; |
| | | doorLock.LocalTempPassword = doorLock.tempPasswordObject.TempPassword; |
| | | TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime); |
| | | } |
| | | else |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); |
| | | }); |
| | | return; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); |
| | | }); |
| | | return; |
| | | } |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | MidFrameLayoutContent(); |
| | | CommonPage.Loading.Hide(); |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //清除事件处理 |
| | | async void ClearEventHandler(Button btnDelText = null, Dialog dialog = null) |
| | | { |
| | | if (btnDelText == null) |
| | | { |
| | | btnDelText = new Button(); |
| | | } |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour == 100) |
| | | Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); |
| | | try |
| | | { |
| | | //请设置生效时间; |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip2), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); |
| | | return; |
| | | if (doorLock.tempPasswordObject != null) |
| | | { |
| | | var passData = doorLock.SetUserAccessData(doorLock.tempPasswordObject.UserId, ZigBee.Device.DoorLock.AccessType.DelCurrentUser); |
| | | var resultData = await doorLock.DefaultControlAsync(passData); |
| | | if (resultData != null && resultData.defaultControlResponseData != null && resultData.defaultControlResponseData.status == 0) |
| | | { |
| | | var delDoorLockTempPasswordData = new ZigBee.Device.DoorLock.DelDoorLockTempPasswordData(); |
| | | if (doorLock.DeviceAddr != null) |
| | | { |
| | | delDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; |
| | | } |
| | | var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLockPwd", delDoorLockTempPasswordData); |
| | | if (result1 != null && result1 != null && result1.StateCode == "Success") |
| | | { |
| | | doorLock.tempPasswordObject = null; |
| | | doorLock.LocalTempPassword = ""; |
| | | TimeDateData(DateTime.Now, DateTime.Now, true); |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = false; |
| | | } |
| | | else |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDelText); |
| | | |
| | | } |
| | | } |
| | | } |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth == 0) |
| | | catch { } |
| | | finally |
| | | { |
| | | //请设置生效日期; |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip3), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); |
| | | return; |
| | | } |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour == 100) |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip4), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); |
| | | return; |
| | | } |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth == 0) |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip5), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); |
| | | return; |
| | | } |
| | | var dNow = DateTime.Now; |
| | | var validDateTime = new DateTime(dNow.Year, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute, dNow.Second); |
| | | var inValidDateTime = new DateTime(dNow.Year, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute, dNow.Second); |
| | | var result = await doorLock.TempPasswordAsync(ZigBee.Device.DoorLock.LocalTempPassword, validDateTime, inValidDateTime); |
| | | if (result != null && result.responseData != null && result.responseData.status == 0) |
| | | { |
| | | var aa = 0; |
| | | } |
| | | else |
| | | { |
| | | //失败 |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | if (dialog != null) |
| | | { |
| | | dialog.Close(); |
| | | } |
| | | MidFrameLayoutContent(); |
| | | CommonPage.Loading.Hide(); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | //生成随机数事件处理 |
| | | private void RandomPasswordMouseUpEventHandler(Button randomPassword) |
| | | //读取云端存储数据 |
| | | void ReadTempPasswordData() |
| | | { |
| | | System.Threading.Tasks.Task.Run(async () => |
| | | { |
| | | Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); |
| | | try |
| | | { |
| | | var getDoorLockTempPasswordData = new ZigBee.Device.DoorLock.GetDoorLockTempPasswordData(); |
| | | if (doorLock.DeviceAddr != null) |
| | | { |
| | | getDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; |
| | | } |
| | | var result = await ZigBee.Device.DoorLock.GetDoorLockTempPasswordFromServer("DoorLock/GetDoorLockPwdPagger", getDoorLockTempPasswordData); |
| | | if (result != null && result.PageData != null) |
| | | { |
| | | foreach (var curDoorLockTempPaw in result.PageData) |
| | | { |
| | | var tpObj = new ZigBee.Device.DoorLock.TempPasswordObject(); |
| | | tpObj.UserId = int.Parse(curDoorLockTempPaw.TempPwdId); |
| | | tpObj.ValidTime = curDoorLockTempPaw.ValidBeginTime; |
| | | tpObj.InValidTime = curDoorLockTempPaw.ValidEndTime; |
| | | doorLock.LocalTempPassword = tpObj.TempPassword = curDoorLockTempPaw.TempPwd; |
| | | doorLock.tempPasswordObject = tpObj; |
| | | TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime); |
| | | } |
| | | } |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | MidFrameLayoutContent(); |
| | | CommonPage.Loading.Hide(); |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //本地时间数据处理 |
| | | void TimeDateData(DateTime validTimeDateTime, DateTime inValidTime, bool isClearLocalTime = false) |
| | | { |
| | | if (doorLock.tempPasswordObject != null) |
| | | { |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour = validTimeDateTime.Hour; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute = validTimeDateTime.Minute; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateSecond = validTimeDateTime.Second; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateYear = validTimeDateTime.Year; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth = validTimeDateTime.Month; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay = validTimeDateTime.Day; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour = inValidTime.Hour; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute = inValidTime.Minute; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateSecond = inValidTime.Second; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateYear = inValidTime.Year; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth = inValidTime.Month; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay = inValidTime.Day; |
| | | } |
| | | if (isClearLocalTime) |
| | | { |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour = 100; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute = 100; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateSecond = 0; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateYear = 0; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth = 0; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay = 0; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour = 100; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute = 100; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateSecond = 0; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateYear = 0; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth = 0; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay = 0; |
| | | } |
| | | } |
| | | |
| | | //时间显示数据处理 |
| | | void TimeDisplay(Button validTime, Button validTimeDate, Button inValidTime, Button inValidTimeDate, bool isDefaultTime) |
| | | { |
| | | string hour = ""; |
| | | string minute = ""; |
| | | if (isDefaultTime) |
| | | { |
| | | var cur = DateTime.Now; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour = cur.Hour; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour = cur.Hour; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute = cur.Minute; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute = cur.Minute; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateSecond = cur.Second; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateSecond = cur.Second; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateYear = cur.Year; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateYear = cur.Year; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth = cur.Month; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth = cur.Month; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay = cur.Day; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay = cur.Day + 1; |
| | | } |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour < 10) |
| | | { |
| | | hour = "0" + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour; |
| | | } |
| | | else |
| | | { |
| | | hour = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour.ToString(); |
| | | } |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute < 10) |
| | | { |
| | | minute = "0" + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute; |
| | | } |
| | | else |
| | | { |
| | | minute = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute.ToString(); |
| | | } |
| | | //有效时间 |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour == 100) |
| | | { |
| | | validTime.Text = "00:00"; |
| | | } |
| | | else |
| | | { |
| | | validTime.Text = hour + ":" + minute; |
| | | } |
| | | |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour < 10) |
| | | { |
| | | hour = "0" + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour; |
| | | } |
| | | else |
| | | { |
| | | hour = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour.ToString(); |
| | | } |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute < 10) |
| | | { |
| | | minute = "0" + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute; |
| | | } |
| | | else |
| | | { |
| | | minute = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute.ToString(); |
| | | } |
| | | |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour == 100) |
| | | { |
| | | inValidTime.Text = "00:00"; |
| | | } |
| | | else |
| | | { |
| | | inValidTime.Text = hour + ":" + minute; |
| | | } |
| | | validTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay + Language.StringByID(R.MyInternationalizationString.Day); |
| | | inValidTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay + Language.StringByID(R.MyInternationalizationString.Day); |
| | | } |
| | | |
| | | #region ◆ 接口实现__________________________ |