From 31497bb69602433d94c8a28ea01c3ee3c7cc8576 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 24 十月 2019 14:32:30 +0800 Subject: [PATCH] 完全合并了Wjc,Xm 的 代码 --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs | 594 ++++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 420 insertions(+), 174 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs index 79b7e9e..b820eb9 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs @@ -1,5 +1,6 @@ 锘縰sing System; -using Java.Sql; +using System.Linq.Expressions; +using Newtonsoft.Json.Linq; using Shared.Common; using ZigBee.Device; @@ -16,6 +17,7 @@ this.doorLock = doorLock; BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor; ZigBee.Device.ZbGateway.StatusList.Add(this); + ReadTempPasswordData(); } #region 鈼� 鍙橀噺鐢虫槑__________________________ @@ -23,10 +25,14 @@ 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() { @@ -34,12 +40,16 @@ 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), @@ -102,17 +112,16 @@ 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), @@ -208,7 +217,6 @@ 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, @@ -230,96 +238,44 @@ 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; @@ -338,40 +294,16 @@ 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 } //搴曢儴鐣岄潰鍜屾暟鎹鐞� @@ -467,27 +399,30 @@ 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; @@ -496,7 +431,7 @@ btnNext.MouseDownEventHandler += hander; } - var btnFinifh = new Button() + btnFinifh = new Button() { Width = Application.GetRealWidth(907), Height = Application.GetRealHeight(127), @@ -504,69 +439,380 @@ 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 鈼� 鎺ュ彛瀹炵幇__________________________ -- Gitblit v1.8.0