From f71e74b5f0d2716fbf05da016cdaa18d64e09f80 Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期四, 31 十二月 2020 17:01:18 +0800 Subject: [PATCH] 又换完成最新门锁。空气质量传感器完成数据和基本配置功能。开发图表和自动化的同事可下载此代码 --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs | 1974 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 987 insertions(+), 987 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs old mode 100755 new mode 100644 index 68c6c1c..578ace9 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs @@ -6,1034 +6,1034 @@ namespace Shared.Phone.UserCenter.DoorLock { - public class TemporaryPassword : DoorLockCommonLayout + public class TemporaryPassword : DoorLockCommonLayout + { + /// <summary> + /// 鏋勯�犲嚱鏁� + /// </summary> + /// <param name="doorLock"></param> + public TemporaryPassword(ZigBee.Device.DoorLock doorLock) { - /// <summary> - /// 鏋勯�犲嚱鏁� - /// </summary> - /// <param name="doorLock"></param> - public TemporaryPassword(ZigBee.Device.DoorLock doorLock) + this.doorLock = doorLock; + BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor; + } + + #region 鍙橀噺鐢虫槑 + /// <summary> + /// 褰撳墠闂ㄩ攣 + /// </summary> + ZigBee.Device.DoorLock doorLock; + /// <summary> + /// 涓存椂瀵嗙爜涓殑6浣嶆暟瀛� + /// </summary> + public System.Collections.Generic.List<Button> pawButtonList = new System.Collections.Generic.List<Button> { }; + /// <summary> + /// 涓存椂瀵嗙爜 + /// </summary> + Button passwordText; + /// <summary> + /// 涓儴甯冪殑椤堕儴甯冨眬 + /// </summary> + FrameLayout MidTopFrameLayout; + /// <summary> + /// 鎺ユ敹閫氱煡 + /// </summary> + Action<string, string> action; + /// <summary> + /// 淇濆瓨瀹屾垚鎸夐挳 + /// </summary> + Button btnFinifh; + /// <summary> + /// 褰撳墠鏈夋晥鏃ユ湡鏃堕棿 + /// </summary> + DateTime cunVDateTime; + /// <summary> + /// 褰撳墠澶辨晥鏃ユ湡鏃堕棿 + /// </summary> + DateTime cunIVDateTime; + #endregion + + /// <summary> + /// UI鏄剧ず + /// </summary> + public void Show() + { + ReadTempPasswordData(); + this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.TemporaryPassword)); + + EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => + { + if (doorLock.Gateway != null || doorLock.Gateway.GwResDataAction != null) { - this.doorLock = doorLock; - BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor; + 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 - 116), + Height = Application.GetRealHeight(69), + Width = Application.GetRealWidth(1080 - 953), + }; + this.titleFrameLayout.AddChidren(btnDelFrameLayout); - #region 鍙橀噺鐢虫槑 - /// <summary> - /// 褰撳墠闂ㄩ攣 - /// </summary> - ZigBee.Device.DoorLock doorLock; - /// <summary> - /// 涓存椂瀵嗙爜涓殑6浣嶆暟瀛� - /// </summary> - public System.Collections.Generic.List<Button> pawButtonList = new System.Collections.Generic.List<Button> { }; - /// <summary> - /// 涓存椂瀵嗙爜 - /// </summary> - Button passwordText; - /// <summary> - /// 涓儴甯冪殑椤堕儴甯冨眬 - /// </summary> - FrameLayout MidTopFrameLayout; - /// <summary> - /// 鎺ユ敹閫氱煡 - /// </summary> - Action<string, string> action; - /// <summary> - /// 淇濆瓨瀹屾垚鎸夐挳 - /// </summary> - Button btnFinifh; - /// <summary> - /// 褰撳墠鏈夋晥鏃ユ湡鏃堕棿 - /// </summary> - DateTime cunVDateTime; - /// <summary> - /// 褰撳墠澶辨晥鏃ユ湡鏃堕棿 - /// </summary> - DateTime cunIVDateTime; - #endregion + var btnDelIcon = new Button + { + Height = Application.GetRealHeight(69), + Width = Application.GetRealWidth(69), + UnSelectedImagePath = "DoorLock/DelIcon.png", + }; + btnDelFrameLayout.AddChidren(btnDelIcon); - /// <summary> - /// UI鏄剧ず - /// </summary> - public void Show() + EventHandler<MouseEventArgs> eHandler = (sender, e) => + { + ClearDialog(); + }; + btnDelFrameLayout.MouseDownEventHandler += eHandler; + btnDelIcon.MouseDownEventHandler += eHandler; + #endregion + MidTopFrameLayout = new FrameLayout() + { + X = Application.GetRealWidth(181), + Y = Application.GetRealHeight(92), + Width = Application.GetRealWidth(717), + Height = Application.GetRealHeight(570), + BackgroundImagePath = "DoorLock/TempPasswordBackground.png", + }; + this.midFrameLayout.AddChidren(MidTopFrameLayout); + MidFrameLayoutContent(); + } + + /// <summary> + /// 涓儴甯冨眬 + /// </summary> + public void MidFrameLayoutContent() + { + MidTopFrameLayout.RemoveAll(); + var TempPasswordBackground1 = new Button() + { + Height = Application.GetRealHeight(43), + Width = Application.GetRealWidth(259), + X = Application.GetRealWidth(230), + Y = Application.GetRealHeight(418), + UnSelectedImagePath = "DoorLock/TempPasswordBackground1.png", + }; + MidTopFrameLayout.AddChidren(TempPasswordBackground1); + + var topMidTopFrameLayout = new FrameLayout() + { + Height = Application.GetRealHeight(313), + }; + MidTopFrameLayout.AddChidren(topMidTopFrameLayout); + + var topPic = new Button() + { + Height = Application.GetRealHeight(81), + Y = Application.GetRealHeight(48), + TextAlignment = TextAlignment.Center, + Text = Language.StringByID(R.MyInternationalizationString.ClickGenerate), + TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, + TextSize = 12, + Visible = true, + Enable = true, + }; + topMidTopFrameLayout.AddChidren(topPic); + + var randomPassword = new EditText() + { + Y = Application.GetRealHeight(153), + Height = Application.GetRealHeight(84), + TextAlignment = TextAlignment.Center, + TextSize = 24, + SecureTextEntry = false, + Enable = false, + }; + topMidTopFrameLayout.AddChidren(randomPassword); + + var temPasswordVisiable = new Button() + { + Height = Application.GetRealHeight(92), + Width = Application.GetRealWidth(92), + X = Application.GetRealWidth(495), + Y = Application.GetRealHeight(153), + UnSelectedImagePath = "DoorLock/TemPasswordInvisiable.png", + SelectedImagePath = "DoorLock/TemPasswordVisiable.png", + }; + topMidTopFrameLayout.AddChidren(temPasswordVisiable); + + var validTime = new Button() + { + Height = Application.GetRealHeight(55), + Width = Application.GetRealWidth(92 + 115), + Y = Application.GetRealHeight(386), + TextColor = Shared.Common.ZigbeeColor.Current.XMGray2, + TextAlignment = TextAlignment.CenterRight, + TextSize = 16, + Text = "--:--", + }; + MidTopFrameLayout.AddChidren(validTime); + + var validTimeDate = new Button() + { + Height = Application.GetRealHeight(49), + Width = Application.GetRealWidth(84 + 135), + Y = Application.GetRealHeight(441), + TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, + TextSize = 12, + TextAlignment = TextAlignment.CenterRight, + }; + MidTopFrameLayout.AddChidren(validTimeDate); + + var inValidTime = new Button() + { + Height = Application.GetRealHeight(55), + Width = Application.GetRealWidth(717 - 507), + X = Application.GetRealWidth(507), + Y = Application.GetRealHeight(389), + TextColor = Shared.Common.ZigbeeColor.Current.XMGray2, + TextAlignment = TextAlignment.CenterLeft, + TextSize = 16, + Text = "--:--", + }; + MidTopFrameLayout.AddChidren(inValidTime); + + var inValidTimeDate = new Button() + { + Height = Application.GetRealHeight(49), + Width = Application.GetRealWidth(717 - 508), + X = Application.GetRealWidth(508), + Y = Application.GetRealHeight(444), + TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, + TextAlignment = TextAlignment.CenterLeft, + TextSize = 12, + }; + MidTopFrameLayout.AddChidren(inValidTimeDate); + + BottomFrameLayoutContent(); + + #region 鏁版嵁澶勭悊 + TimeDisplay(validTime, validTimeDate, inValidTime, inValidTimeDate, false); + if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify) + { + btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnFinifh.Enable = true; + topPic.Visible = true; + topPic.Enable = true; + } + else + { + btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; + btnFinifh.Enable = false; + topPic.Visible = false; + topPic.Enable = false; + } + if (string.IsNullOrEmpty(doorLock.LocalTempPassword)) + { + randomPassword.Text = "- - - - - -"; + temPasswordVisiable.Visible = false; + randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMGray4; + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true; + topPic.Visible = true; + topPic.Enable = true; + } + else + { + randomPassword.Text = doorLock.LocalTempPassword; + temPasswordVisiable.Visible = true; + if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable) { - ReadTempPasswordData(); - this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.TemporaryPassword)); - - 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 - 116), - Height = Application.GetRealHeight(69), - Width = Application.GetRealWidth(1080 - 953), - }; - this.titleFrameLayout.AddChidren(btnDelFrameLayout); - - var btnDelIcon = new Button - { - Height = Application.GetRealHeight(69), - Width = Application.GetRealWidth(69), - UnSelectedImagePath = "DoorLock/DelIcon.png", - }; - btnDelFrameLayout.AddChidren(btnDelIcon); - - EventHandler<MouseEventArgs> eHandler = (sender, e) => - { - ClearDialog(); - }; - btnDelFrameLayout.MouseDownEventHandler += eHandler; - btnDelIcon.MouseDownEventHandler += eHandler; - #endregion - MidTopFrameLayout = new FrameLayout() - { - X = Application.GetRealWidth(181), - Y = Application.GetRealHeight(92), - Width = Application.GetRealWidth(717), - Height = Application.GetRealHeight(570), - BackgroundImagePath = "DoorLock/TempPasswordBackground.png", - }; - this.midFrameLayout.AddChidren(MidTopFrameLayout); - MidFrameLayoutContent(); + randomPassword.SecureTextEntry = false; + temPasswordVisiable.IsSelected = true; + randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMOrange; } - - /// <summary> - /// 涓儴甯冨眬 - /// </summary> - public void MidFrameLayoutContent() + else { - MidTopFrameLayout.RemoveAll(); - var TempPasswordBackground1 = new Button() - { - Height = Application.GetRealHeight(43), - Width = Application.GetRealWidth(259), - X = Application.GetRealWidth(230), - Y = Application.GetRealHeight(418), - UnSelectedImagePath = "DoorLock/TempPasswordBackground1.png", - }; - MidTopFrameLayout.AddChidren(TempPasswordBackground1); - - var topMidTopFrameLayout = new FrameLayout() - { - Height = Application.GetRealHeight(313), - }; - MidTopFrameLayout.AddChidren(topMidTopFrameLayout); - - var topPic = new Button() - { - Height = Application.GetRealHeight(81), - Y = Application.GetRealHeight(48), - TextAlignment = TextAlignment.Center, - Text = Language.StringByID(R.MyInternationalizationString.ClickGenerate), - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, - TextSize = 12, - Visible = true, - Enable = true, - }; - topMidTopFrameLayout.AddChidren(topPic); - - var randomPassword = new EditText() - { - Y = Application.GetRealHeight(153), - Height = Application.GetRealHeight(84), - TextAlignment = TextAlignment.Center, - TextSize = 24, - SecureTextEntry = false, - Enable = false, - }; - topMidTopFrameLayout.AddChidren(randomPassword); - - var temPasswordVisiable = new Button() - { - Height = Application.GetRealHeight(92), - Width = Application.GetRealWidth(92), - X = Application.GetRealWidth(495), - Y = Application.GetRealHeight(153), - UnSelectedImagePath = "DoorLock/TemPasswordInvisiable.png", - SelectedImagePath = "DoorLock/TemPasswordVisiable.png", - }; - topMidTopFrameLayout.AddChidren(temPasswordVisiable); - - var validTime = new Button() - { - Height = Application.GetRealHeight(55), - Width = Application.GetRealWidth(92 + 115), - Y = Application.GetRealHeight(386), - TextColor = Shared.Common.ZigbeeColor.Current.XMGray2, - TextAlignment = TextAlignment.CenterRight, - TextSize = 16, - Text = "--:--", - }; - MidTopFrameLayout.AddChidren(validTime); - - var validTimeDate = new Button() - { - Height = Application.GetRealHeight(49), - Width = Application.GetRealWidth(84 + 135), - Y = Application.GetRealHeight(441), - TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, - TextSize = 12, - TextAlignment = TextAlignment.CenterRight, - }; - MidTopFrameLayout.AddChidren(validTimeDate); - - var inValidTime = new Button() - { - Height = Application.GetRealHeight(55), - Width = Application.GetRealWidth(717 - 507), - X = Application.GetRealWidth(507), - Y = Application.GetRealHeight(389), - TextColor = Shared.Common.ZigbeeColor.Current.XMGray2, - TextAlignment = TextAlignment.CenterLeft, - TextSize = 16, - Text = "--:--", - }; - MidTopFrameLayout.AddChidren(inValidTime); - - var inValidTimeDate = new Button() - { - Height = Application.GetRealHeight(49), - Width = Application.GetRealWidth(717 - 508), - X = Application.GetRealWidth(508), - Y = Application.GetRealHeight(444), - TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, - TextAlignment = TextAlignment.CenterLeft, - TextSize = 12, - }; - MidTopFrameLayout.AddChidren(inValidTimeDate); - - BottomFrameLayoutContent(); - - #region 鏁版嵁澶勭悊 - TimeDisplay(validTime, validTimeDate, inValidTime, inValidTimeDate, false); - if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify) - { - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; - btnFinifh.Enable = true; - topPic.Visible = true; - topPic.Enable = true; - } - else - { - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; - btnFinifh.Enable = false; - topPic.Visible = false; - topPic.Enable = false; - } - if (string.IsNullOrEmpty(doorLock.LocalTempPassword)) - { - randomPassword.Text = "- - - - - -"; - temPasswordVisiable.Visible = false; - randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMGray4; - Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true; - topPic.Visible = true; - topPic.Enable = true; - } - else - { - 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; - } - } - - temPasswordVisiable.MouseUpEventHandler += (sender, e) => - { - temPasswordVisiable.IsSelected = !temPasswordVisiable.IsSelected; - if (!temPasswordVisiable.IsSelected) - { - randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMGray4; - randomPassword.SecureTextEntry = true; - } - else - { - randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMOrange; - randomPassword.SecureTextEntry = false; - } - Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = !randomPassword.SecureTextEntry; - }; - topPic.MouseUpEventHandler += (sender, e) => - { - randomPassword.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetTempPassword(); - 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; - }; - #endregion + randomPassword.SecureTextEntry = true; + temPasswordVisiable.IsSelected = false; + randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMGray4; } - /// <summary> - /// 搴曢儴甯冨眬澶勭悊 - /// </summary> - public void BottomFrameLayoutContent() + } + + temPasswordVisiable.MouseUpEventHandler += (sender, e) => + { + temPasswordVisiable.IsSelected = !temPasswordVisiable.IsSelected; + if (!temPasswordVisiable.IsSelected) { - var bottomFrameLayout = new FrameLayout() - { - Height = Application.GetRealHeight(1025), - Y = Application.GetRealHeight(711), - BackgroundColor = ZigbeeColor.Current.XMWhite, - }; - this.midFrameLayout.AddChidren(bottomFrameLayout); - bottomFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); - - var informationEdit = new Button() - { - Height = Application.GetRealHeight(60), - X = Application.GetRealWidth(58), - Y = Application.GetRealHeight(81), - Text = Language.StringByID(R.MyInternationalizationString.InformationEdit), - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, - TextAlignment = TextAlignment.CenterLeft, - TextSize = 15, - }; - bottomFrameLayout.AddChidren(informationEdit); - - for (int i = 0; i < 2; i++) - { - var btnValidTime = new Button() - { - Width = Application.GetRealWidth(453), - Height = Application.GetRealHeight(58), - X = Application.GetRealWidth(58), - Text = Language.StringByID(R.MyInternationalizationString.ValidTime), - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, - TextAlignment = TextAlignment.CenterLeft, - TextSize = 14, - }; - bottomFrameLayout.AddChidren(btnValidTime); - - var btnModifyText = new Button() - { - Width = Application.GetRealWidth(448), - Height = Application.GetRealHeight(58), - X = btnValidTime.Right, - Text = Language.StringByID(R.MyInternationalizationString.Modify), - TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, - TextAlignment = TextAlignment.CenterRight, - TextSize = 14, - }; - bottomFrameLayout.AddChidren(btnModifyText); - - var btnNextFrameLayout = new FrameLayout() - { - Width = Application.GetRealWidth(58 * 2), - Height = Application.GetRealHeight(58), - X = Application.GetRealWidth(956), - Y = Application.GetRealHeight(204), - }; - bottomFrameLayout.AddChidren(btnNextFrameLayout); - - var btnNext = new Button() - { - Width = Application.GetRealWidth(58), - Height = Application.GetRealHeight(58), - UnSelectedImagePath = "Item/RightNext.png", - SelectedImagePath = "Item/Down.png", - }; - btnNextFrameLayout.AddChidren(btnNext); - - var btnLine = new FrameLayout() - { - Width = Application.GetRealWidth(965), - Height = 1, - X = Application.GetRealWidth(58), - BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine, - }; - bottomFrameLayout.AddChidren(btnLine); - - if (i == 0) - { - btnValidTime.Y = Application.GetRealHeight(204); - btnValidTime.Text = Language.StringByID(R.MyInternationalizationString.ValidTime); - btnModifyText.Y = btnNextFrameLayout.Y = btnValidTime.Y; - btnLine.Y = Application.GetRealHeight(308); - } - else if (i == 1) - { - btnValidTime.Y = Application.GetRealHeight(343); - btnValidTime.Text = Language.StringByID(R.MyInternationalizationString.InValidTime); - btnModifyText.Y = btnNextFrameLayout.Y = btnValidTime.Y; - btnLine.Y = Application.GetRealHeight(446); - } - int curIndex = i; - EventHandler<MouseEventArgs> hander = (sender, e) => - { - if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify) - { - if (curIndex == 0) - { - if (string.IsNullOrEmpty(doorLock.LocalTempPassword)) - { - //璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜锛� - Application.RunOnMainThread(() => - { - var mess = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1); - ShowMassage(ShowMsgType.Tip, mess); - - }); - return; - } - 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) - { - if (string.IsNullOrEmpty(doorLock.LocalTempPassword)) - { - //璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜锛� - Application.RunOnMainThread(() => - { - var mess = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1); - this.ShowMassage(ShowMsgType.Tip, mess); - }); - return; - } - 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; - btnModifyText.MouseDownEventHandler += hander; - btnNextFrameLayout.MouseDownEventHandler += hander; - btnNext.MouseDownEventHandler += hander; - } - - var modifyTempPasswordTip1 = new Button() - { - Height = Application.GetRealHeight(49), - Y = Application.GetRealHeight(628), - TextID = R.MyInternationalizationString.ModifyTempPasswordTip1, - TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, - TextSize = 12, - TextAlignment = TextAlignment.Center, - }; - bottomFrameLayout.AddChidren(modifyTempPasswordTip1); - - var modifyTempPasswordTip2 = new Button() - { - Height = Application.GetRealHeight(49), - Y = modifyTempPasswordTip1.Bottom, - Radius = (uint)Application.GetRealHeight(120) / 2, - TextID = R.MyInternationalizationString.ModifyTempPasswordTip2, - TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, - TextSize = 12, - TextAlignment = TextAlignment.Center, - }; - bottomFrameLayout.AddChidren(modifyTempPasswordTip2); - - btnFinifh = new Button() - { - Width = Application.GetRealWidth(907), - Height = Application.GetRealHeight(127), - X = Application.GetRealWidth(86), - Y = Application.GetRealHeight(760), - Radius = (uint)Application.GetRealHeight(120) / 2, - TextID = R.MyInternationalizationString.Confrim, - BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect, - TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, - TextSize = 16, - IsBold = true, - Enable = false, - }; - bottomFrameLayout.AddChidren(btnFinifh); - - btnFinifh.MouseUpEventHandler += async (sender, e) => - { - FinifhEventHandler(btnFinifh); - }; + randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMGray4; + randomPassword.SecureTextEntry = true; } - - /// <summary> - /// 纭畾浜嬩欢澶勭悊 - /// </summary> - /// <param name="btnFinifh"></param> - void FinifhEventHandler(Button btnFinifh) + else { - System.Threading.Tasks.Task.Run(async () => - { - Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); - try - { - if (string.IsNullOrEmpty(doorLock.LocalTempPassword)) - { - //璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜锛� - Application.RunOnMainThread(() => - { - var mess = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1); - this.ShowMassage(ShowMsgType.Tip, mess); - }); - 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 - 1, 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); - if (DateTime.Compare(inValidDateTime, validDateTime) < 0) - { - //鏃犳晥鐨勬椂闂磋缃� - Application.RunOnMainThread(() => - { - var mess = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip); - this.ShowMassage(ShowMsgType.Tip, mess); - }); - return; - } - - var startTimeStr = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetUnixTimeStamp(validDateTime); - var endTimeStr = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetUnixTimeStamp(inValidDateTime); - - 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) - { - if (addOrModifyResult.responseData.status == 0) - { - System.Threading.Thread.Sleep(1000); - if (doorLock.tempPasswordObject != null) - { - var addDoorLockTempPasswordData = new ZigBee.Device.DoorLock.AddDoorLockTempPasswordData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - addDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - addDoorLockTempPasswordData.IsOtherAccountCtrl = true; - } - //瀵瑰瘑鐮佽繘琛屽姞瀵嗗鐞� - string hdlKey = "hD1(La3o"; - var enPsw = UserCenterLogic.EncryptPassword(hdlKey, doorLock.tempPasswordObject.TempPassword); - addDoorLockTempPasswordData.TempPwd = enPsw; - 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) - { - Application.RunOnMainThread(() => - { - var mess = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime); - this.ShowMassage(ShowMsgType.Tip, mess); - }); - return; - } - if (result1.StateCode != "Success") - { - Application.RunOnMainThread(() => - { - var mess = Language.StringByID(R.MyInternationalizationString.SetFailedXm1); - this.ShowMassage(ShowMsgType.Tip, mess); - }); - return; - } - Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = false; - doorLock.LocalTempPassword = doorLock.tempPasswordObject.TempPassword; - TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime); - } - else - { - Application.RunOnMainThread(() => - { - var mess = Language.StringByID(R.MyInternationalizationString.SetFailedXm); - this.ShowMassage(ShowMsgType.Tip, mess); - }); - return; - } - } - else - { - Application.RunOnMainThread(() => - { - var mess = Language.StringByID(R.MyInternationalizationString.SetFailedXm); - this.ShowMassage(ShowMsgType.Tip, mess); - }); - return; - } - } - else - { - Application.RunOnMainThread(() => - { - var mess = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); - this.ShowMassage(ShowMsgType.Tip, mess); - }); - return; - } - } - catch (Exception ex) - { - var mess = ex.Message; - } - finally - { - Application.RunOnMainThread(() => - { - MidFrameLayoutContent(); - CommonPage.Loading.Hide(); - }); - } - }); + randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMOrange; + randomPassword.SecureTextEntry = false; } + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = !randomPassword.SecureTextEntry; + }; + topPic.MouseUpEventHandler += (sender, e) => + { + randomPassword.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetTempPassword(); + 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; + }; + #endregion + } + /// <summary> + /// 搴曢儴甯冨眬澶勭悊 + /// </summary> + public void BottomFrameLayoutContent() + { + var bottomFrameLayout = new FrameLayout() + { + Height = Application.GetRealHeight(1025), + Y = Application.GetRealHeight(711), + BackgroundColor = ZigbeeColor.Current.XMWhite, + }; + this.midFrameLayout.AddChidren(bottomFrameLayout); + bottomFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); - /// <summary> - /// 娓呴櫎UI - /// </summary> - void ClearDialog() + var informationEdit = new Button() + { + Height = Application.GetRealHeight(60), + X = Application.GetRealWidth(58), + Y = Application.GetRealHeight(81), + Text = Language.StringByID(R.MyInternationalizationString.InformationEdit), + TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, + TextAlignment = TextAlignment.CenterLeft, + TextSize = 15, + }; + bottomFrameLayout.AddChidren(informationEdit); + + for (int i = 0; i < 2; i++) + { + var btnValidTime = new Button() { - var dialog = new Dialog { }; - dialog.Show(); + Width = Application.GetRealWidth(453), + Height = Application.GetRealHeight(58), + X = Application.GetRealWidth(58), + Text = Language.StringByID(R.MyInternationalizationString.ValidTime), + TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, + TextAlignment = TextAlignment.CenterLeft, + TextSize = 14, + }; + bottomFrameLayout.AddChidren(btnValidTime); - var flMain = new FrameLayout { BackgroundColor = 0x00000000 }; - dialog.AddChidren(flMain); - flMain.MouseUpEventHandler += (sender11, e11) => - { - dialog.Close(); - }; + var btnModifyText = new Button() + { + Width = Application.GetRealWidth(448), + Height = Application.GetRealHeight(58), + X = btnValidTime.Right, + Text = Language.StringByID(R.MyInternationalizationString.Modify), + TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, + TextAlignment = TextAlignment.CenterRight, + TextSize = 14, + }; + bottomFrameLayout.AddChidren(btnModifyText); - var delBackgroundFrameLayout = new FrameLayout - { - X = Application.GetRealWidth(596), - Y = Application.GetRealHeight(164), - Height = Application.GetRealHeight(173), - Width = Application.GetRealWidth(449), - BackgroundImagePath = "DoorLock/DelBackground.png", - }; - flMain.AddChidren(delBackgroundFrameLayout); + var btnNextFrameLayout = new FrameLayout() + { + Width = Application.GetRealWidth(58 * 2), + Height = Application.GetRealHeight(58), + X = Application.GetRealWidth(956), + Y = Application.GetRealHeight(204), + }; + bottomFrameLayout.AddChidren(btnNextFrameLayout); - var btnDelIcon2 = new Button - { - Height = Application.GetRealHeight(81), - Width = Application.GetRealWidth(81), - X = Application.GetRealWidth(81), - Y = Application.GetRealHeight(55), - UnSelectedImagePath = "DoorLock/DelIcon.png", - }; - delBackgroundFrameLayout.AddChidren(btnDelIcon2); + var btnNext = new Button() + { + Width = Application.GetRealWidth(58), + Height = Application.GetRealHeight(58), + UnSelectedImagePath = "Item/RightNext.png", + SelectedImagePath = "Item/Down.png", + }; + btnNextFrameLayout.AddChidren(btnNext); - var btnDelText = new Button - { - Height = Application.GetRealHeight(58), - Width = Application.GetRealWidth(311), - X = Application.GetRealWidth(173), - Y = Application.GetRealHeight(69), - TextAlignment = TextAlignment.CenterLeft, - Text = Language.StringByID(R.MyInternationalizationString.ClearTempPassword), - TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText, - TextSize = 14, - IsBold = true, - }; - delBackgroundFrameLayout.AddChidren(btnDelText); + var btnLine = new FrameLayout() + { + Width = Application.GetRealWidth(965), + Height = 1, + X = Application.GetRealWidth(58), + BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine, + }; + bottomFrameLayout.AddChidren(btnLine); - EventHandler<MouseEventArgs> eHandler2 = (sender2, e2) => - { - dialog.Close(); - string msg = Language.StringByID(R.MyInternationalizationString.SureToDeleteTempPassword); - var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm)); - alert.Show(); - //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁� - alert.ConfirmClickEvent += () => - { - ClearEventHandler(btnDelText); - }; - }; - delBackgroundFrameLayout.MouseDownEventHandler += eHandler2; - btnDelIcon2.MouseDownEventHandler += eHandler2; - btnDelText.MouseDownEventHandler += eHandler2; + if (i == 0) + { + btnValidTime.Y = Application.GetRealHeight(204); + btnValidTime.Text = Language.StringByID(R.MyInternationalizationString.ValidTime); + btnModifyText.Y = btnNextFrameLayout.Y = btnValidTime.Y; + btnLine.Y = Application.GetRealHeight(308); } - - /// <summary> - /// 娓呴櫎浜嬩欢澶勭悊 - /// </summary> - /// <param name="btnDelText"></param> - async void ClearEventHandler(Button btnDelText = null) + else if (i == 1) { - if (btnDelText == null) + btnValidTime.Y = Application.GetRealHeight(343); + btnValidTime.Text = Language.StringByID(R.MyInternationalizationString.InValidTime); + btnModifyText.Y = btnNextFrameLayout.Y = btnValidTime.Y; + btnLine.Y = Application.GetRealHeight(446); + } + int curIndex = i; + EventHandler<MouseEventArgs> hander = (sender, e) => + { + if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify) + { + if (curIndex == 0) { - btnDelText = new Button(); - } - Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); - try - { - 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) - { - if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2) - { - var delDoorLockTempPasswordData = new ZigBee.Device.DoorLock.DelDoorLockTempPasswordData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - delDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - delDoorLockTempPasswordData.IsOtherAccountCtrl = true; - } - if (doorLock.DeviceAddr != null) - { - delDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLockPwd", delDoorLockTempPasswordData); - if (result1 != null) - { - if (result1.StateCode == "Success") - { - doorLock.tempPasswordObject = null; - doorLock.LocalTempPassword = ""; - TimeDateData(DateTime.Now, DateTime.Now, true); - Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = false; - Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true; - } - else - { - Application.RunOnMainThread(() => - { - var mess = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1); - this.ShowMassage(ShowMsgType.Tip, mess); - }); - } - } - else - { - Application.RunOnMainThread(() => - { - var mess = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime); - this.ShowMassage(ShowMsgType.Tip, mess); - }); - } - } - else - { - Application.RunOnMainThread(() => - { - var mess = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1); - this.ShowMassage(ShowMsgType.Tip, mess); - }); - } - } - else - { - var mess = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); - this.ShowMassage(ShowMsgType.Tip, mess); - } - } - } - catch { } - finally - { + if (string.IsNullOrEmpty(doorLock.LocalTempPassword)) + { + //璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜锛� Application.RunOnMainThread(() => { + var mess = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1); + ShowMassage(ShowMsgType.Tip, mess); - MidFrameLayoutContent(); - CommonPage.Loading.Hide(); }); - } - } - - /// <summary> - /// 璇诲彇浜戠瀛樺偍鏁版嵁 - /// </summary> - void ReadTempPasswordData() - { - System.Threading.Tasks.Task.Run(async () => - { - Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); - try - { - var getDoorLockTempPasswordData = new ZigBee.Device.DoorLock.GetDoorLockTempPasswordData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - getDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - getDoorLockTempPasswordData.IsOtherAccountCtrl = true; - } - if (doorLock.DeviceAddr != null) - { - getDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - var result = await ZigBee.Device.DoorLock.GetDoorLockTempPasswordFromServer("DoorLock/GetDoorLockPwdPagger", getDoorLockTempPasswordData); - if (result != null) - { - if (result.PageData.Count != 0) - { - 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; - //瑙e瘑瀵嗙爜 - string hdlKey = "hD1(La3o"; - var desPsw = UserCenterLogic.DecryptPassword(hdlKey, curDoorLockTempPaw.TempPwd); - doorLock.LocalTempPassword = tpObj.TempPassword = desPsw; - doorLock.tempPasswordObject = tpObj; - TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime); - } - } - else - { - doorLock.tempPasswordObject = null; - doorLock.LocalTempPassword = ""; - TimeDateData(DateTime.Now, DateTime.Now, true); - Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = false; - Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true; - } - } - else - { - var mess = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime); - this.ShowMassage(ShowMsgType.Tip, mess); - } - } - catch { } - finally - { - Application.RunOnMainThread(() => - { + return; + } + 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(); - CommonPage.Loading.Hide(); - }); - } - }); - } - - /// <summary> - /// 鏈湴鏃堕棿鏁版嵁澶勭悊 - /// </summary> - /// <param name="validTimeDateTime"></param> - /// <param name="inValidTime"></param> - /// <param name="isClearLocalTime"></param> - 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) + if (curIndex == 1) { - 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; - } - } - - /// <summary> - /// 鏃堕棿鏄剧ず鏁版嵁澶勭悊 - /// </summary> - /// <param name="validTime"></param> - /// <param name="validTimeDate"></param> - /// <param name="inValidTime"></param> - /// <param name="inValidTimeDate"></param> - /// <param name="isDefaultTime"></param> - void TimeDisplay(Button validTime, Button validTimeDate, Button inValidTime, Button inValidTimeDate, bool isDefaultTime) - { - string hour = ""; - string minute = ""; - if (isDefaultTime) - { - var cur = DateTime.Now; - DoorLockCommonInfo.ValidDateHour = cur.Hour; - DoorLockCommonInfo.ValidDateMinute = cur.Minute; - DoorLockCommonInfo.ValidDateSecond = cur.Second; - DoorLockCommonInfo.InValidDateHour = cur.Hour; - DoorLockCommonInfo.InValidDateMinute = cur.Minute; - DoorLockCommonInfo.InValidDateSecond = cur.Second; - DoorLockCommonInfo.ValidDateYear = cur.Year; - DoorLockCommonInfo.ValidDateMonth = cur.Month; - DoorLockCommonInfo.ValidDateDay = cur.Day; - - var curD = DoorLockCommonInfo.LastDayOfMonth(cur); - if (DoorLockCommonInfo.ValidDateDay == curD.Day) + if (string.IsNullOrEmpty(doorLock.LocalTempPassword)) + { + //璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜锛� + Application.RunOnMainThread(() => { - if (DoorLockCommonInfo.ValidDateMonth == 12) + var mess = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1); + this.ShowMassage(ShowMsgType.Tip, mess); + }); + return; + } + 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; + btnModifyText.MouseDownEventHandler += hander; + btnNextFrameLayout.MouseDownEventHandler += hander; + btnNext.MouseDownEventHandler += hander; + } + + var modifyTempPasswordTip1 = new Button() + { + Height = Application.GetRealHeight(49), + Y = Application.GetRealHeight(628), + TextID = R.MyInternationalizationString.ModifyTempPasswordTip1, + TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, + TextSize = 12, + TextAlignment = TextAlignment.Center, + }; + bottomFrameLayout.AddChidren(modifyTempPasswordTip1); + + var modifyTempPasswordTip2 = new Button() + { + Height = Application.GetRealHeight(49), + Y = modifyTempPasswordTip1.Bottom, + Radius = (uint)Application.GetRealHeight(120) / 2, + TextID = R.MyInternationalizationString.ModifyTempPasswordTip2, + TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, + TextSize = 12, + TextAlignment = TextAlignment.Center, + }; + bottomFrameLayout.AddChidren(modifyTempPasswordTip2); + + btnFinifh = new Button() + { + Width = Application.GetRealWidth(907), + Height = Application.GetRealHeight(127), + X = Application.GetRealWidth(86), + Y = Application.GetRealHeight(760), + Radius = (uint)Application.GetRealHeight(120) / 2, + TextID = R.MyInternationalizationString.Confrim, + BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect, + TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, + TextSize = 16, + IsBold = true, + Enable = false, + }; + bottomFrameLayout.AddChidren(btnFinifh); + + btnFinifh.MouseUpEventHandler += async (sender, e) => + { + FinifhEventHandler(btnFinifh); + }; + } + + /// <summary> + /// 纭畾浜嬩欢澶勭悊 + /// </summary> + /// <param name="btnFinifh"></param> + void FinifhEventHandler(Button btnFinifh) + { + System.Threading.Tasks.Task.Run(async () => + { + Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); + try + { + if (string.IsNullOrEmpty(doorLock.LocalTempPassword)) + { + //璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜锛� + Application.RunOnMainThread(() => + { + var mess = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1); + this.ShowMassage(ShowMsgType.Tip, mess); + }); + 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 - 1, 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); + if (DateTime.Compare(inValidDateTime, validDateTime) < 0) + { + //鏃犳晥鐨勬椂闂磋缃� + Application.RunOnMainThread(() => + { + var mess = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip); + this.ShowMassage(ShowMsgType.Tip, mess); + }); + return; + } + + var startTimeStr = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetUnixTimeStamp(validDateTime); + var endTimeStr = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetUnixTimeStamp(inValidDateTime); + + 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()); { - DoorLockCommonInfo.InValidDateYear = cur.Year + 1; - DoorLockCommonInfo.InValidDateMonth = 1; - DoorLockCommonInfo.InValidDateDay = 1; + 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; + } } - else + } + }; + 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) + { + if (addOrModifyResult.responseData.status == 0) + { + System.Threading.Thread.Sleep(1000); + if (doorLock.tempPasswordObject != null) + { + var addDoorLockTempPasswordData = new ZigBee.Device.DoorLock.AddDoorLockTempPasswordData(); + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + addDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + addDoorLockTempPasswordData.IsOtherAccountCtrl = true; + } + //瀵瑰瘑鐮佽繘琛屽姞瀵嗗鐞� + string hdlKey = "hD1(La3o"; + var enPsw = UserCenterLogic.EncryptPassword(hdlKey, doorLock.tempPasswordObject.TempPassword); + addDoorLockTempPasswordData.TempPwd = enPsw; + 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) + { + Application.RunOnMainThread(() => + { + var mess = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime); + this.ShowMassage(ShowMsgType.Tip, mess); + }); + return; + } + if (result1.StateCode != "Success") + { + Application.RunOnMainThread(() => + { + var mess = Language.StringByID(R.MyInternationalizationString.SetFailedXm1); + this.ShowMassage(ShowMsgType.Tip, mess); + }); + return; + } + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = false; + doorLock.LocalTempPassword = doorLock.tempPasswordObject.TempPassword; + TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime); + } + else + { + Application.RunOnMainThread(() => + { + var mess = Language.StringByID(R.MyInternationalizationString.SetFailedXm); + this.ShowMassage(ShowMsgType.Tip, mess); + }); + return; + } + } + else + { + Application.RunOnMainThread(() => { - DoorLockCommonInfo.InValidDateYear = cur.Year; - DoorLockCommonInfo.InValidDateMonth = cur.Month + 1; - DoorLockCommonInfo.InValidDateDay = 1; - } + var mess = Language.StringByID(R.MyInternationalizationString.SetFailedXm); + this.ShowMassage(ShowMsgType.Tip, mess); + }); + return; + } + } + else + { + Application.RunOnMainThread(() => + { + var mess = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); + this.ShowMassage(ShowMsgType.Tip, mess); + }); + return; + } + } + catch (Exception ex) + { + var mess = ex.Message; + } + finally + { + Application.RunOnMainThread(() => + { + MidFrameLayoutContent(); + CommonPage.Loading.Hide(); + }); + } + }); + } + + /// <summary> + /// 娓呴櫎UI + /// </summary> + void ClearDialog() + { + var dialog = new Dialog { }; + dialog.Show(); + + var flMain = new FrameLayout { BackgroundColor = 0x00000000 }; + dialog.AddChidren(flMain); + flMain.MouseUpEventHandler += (sender11, e11) => + { + dialog.Close(); + }; + + var delBackgroundFrameLayout = new FrameLayout + { + X = Application.GetRealWidth(596), + Y = Application.GetRealHeight(164), + Height = Application.GetRealHeight(173), + Width = Application.GetRealWidth(449), + BackgroundImagePath = "DoorLock/DelBackground.png", + }; + flMain.AddChidren(delBackgroundFrameLayout); + + var btnDelIcon2 = new Button + { + Height = Application.GetRealHeight(81), + Width = Application.GetRealWidth(81), + X = Application.GetRealWidth(81), + Y = Application.GetRealHeight(55), + UnSelectedImagePath = "DoorLock/DelIcon.png", + }; + delBackgroundFrameLayout.AddChidren(btnDelIcon2); + + var btnDelText = new Button + { + Height = Application.GetRealHeight(58), + Width = Application.GetRealWidth(311), + X = Application.GetRealWidth(173), + Y = Application.GetRealHeight(69), + TextAlignment = TextAlignment.CenterLeft, + Text = Language.StringByID(R.MyInternationalizationString.ClearTempPassword), + TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText, + TextSize = 14, + IsBold = true, + }; + delBackgroundFrameLayout.AddChidren(btnDelText); + + EventHandler<MouseEventArgs> eHandler2 = (sender2, e2) => + { + dialog.Close(); + string msg = Language.StringByID(R.MyInternationalizationString.SureToDeleteTempPassword); + var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm)); + alert.Show(); + //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁� + alert.ConfirmClickEvent += () => + { + ClearEventHandler(btnDelText); + }; + }; + delBackgroundFrameLayout.MouseDownEventHandler += eHandler2; + btnDelIcon2.MouseDownEventHandler += eHandler2; + btnDelText.MouseDownEventHandler += eHandler2; + } + + /// <summary> + /// 娓呴櫎浜嬩欢澶勭悊 + /// </summary> + /// <param name="btnDelText"></param> + async void ClearEventHandler(Button btnDelText = null) + { + if (btnDelText == null) + { + btnDelText = new Button(); + } + Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); + try + { + 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) + { + if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2) + { + var delDoorLockTempPasswordData = new ZigBee.Device.DoorLock.DelDoorLockTempPasswordData(); + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + delDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + delDoorLockTempPasswordData.IsOtherAccountCtrl = true; + } + if (doorLock.DeviceAddr != null) + { + delDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + } + var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLockPwd", delDoorLockTempPasswordData); + if (result1 != null) + { + if (result1.StateCode == "Success") + { + doorLock.tempPasswordObject = null; + doorLock.LocalTempPassword = ""; + TimeDateData(DateTime.Now, DateTime.Now, true); + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = false; + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true; } else { - DoorLockCommonInfo.InValidDateYear = cur.Year; - DoorLockCommonInfo.InValidDateMonth = cur.Month; - DoorLockCommonInfo.InValidDateDay = cur.Day + 1; - } - - //doorLock.ReSave(); - } - if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour < 10) - { - hour = "0" + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour; + Application.RunOnMainThread(() => + { + var mess = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1); + this.ShowMassage(ShowMsgType.Tip, mess); + }); + } + } + else + { + Application.RunOnMainThread(() => + { + var mess = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime); + this.ShowMassage(ShowMsgType.Tip, mess); + }); + } } else { - hour = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour.ToString(); + Application.RunOnMainThread(() => + { + var mess = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1); + this.ShowMassage(ShowMsgType.Tip, mess); + }); } - 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 = "--:--"; - } - 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 = "--:--"; - } - else - { - inValidTime.Text = hour + ":" + minute; - } - - if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth == 0) - { - validTimeDate.Text = "-" + Language.StringByID(R.MyInternationalizationString.Month) + "-" + Language.StringByID(R.MyInternationalizationString.Day); - } - else - { - validTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay + Language.StringByID(R.MyInternationalizationString.Day); - } - - if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth == 0) - { - inValidTimeDate.Text = "-" + Language.StringByID(R.MyInternationalizationString.Month) + "-" + Language.StringByID(R.MyInternationalizationString.Day); - } - else - { - inValidTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay + Language.StringByID(R.MyInternationalizationString.Day); - } + } + else + { + var mess = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); + this.ShowMassage(ShowMsgType.Tip, mess); + } } + } + catch { } + finally + { + Application.RunOnMainThread(() => + { + + MidFrameLayoutContent(); + CommonPage.Loading.Hide(); + }); + } } + + /// <summary> + /// 璇诲彇浜戠瀛樺偍鏁版嵁 + /// </summary> + void ReadTempPasswordData() + { + System.Threading.Tasks.Task.Run(async () => + { + Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); + try + { + var getDoorLockTempPasswordData = new ZigBee.Device.DoorLock.GetDoorLockTempPasswordData(); + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + getDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + getDoorLockTempPasswordData.IsOtherAccountCtrl = true; + } + if (doorLock.DeviceAddr != null) + { + getDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + } + var result = await ZigBee.Device.DoorLock.GetDoorLockTempPasswordFromServer("DoorLock/GetDoorLockPwdPagger", getDoorLockTempPasswordData); + if (result != null) + { + if (result.PageData.Count != 0) + { + 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; + //瑙e瘑瀵嗙爜 + string hdlKey = "hD1(La3o"; + var desPsw = UserCenterLogic.DecryptPassword(hdlKey, curDoorLockTempPaw.TempPwd); + doorLock.LocalTempPassword = tpObj.TempPassword = desPsw; + doorLock.tempPasswordObject = tpObj; + TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime); + } + } + else + { + doorLock.tempPasswordObject = null; + doorLock.LocalTempPassword = ""; + TimeDateData(DateTime.Now, DateTime.Now, true); + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = false; + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true; + } + } + else + { + var mess = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime); + this.ShowMassage(ShowMsgType.Tip, mess); + } + } + catch { } + finally + { + Application.RunOnMainThread(() => + { + MidFrameLayoutContent(); + CommonPage.Loading.Hide(); + }); + } + }); + } + + /// <summary> + /// 鏈湴鏃堕棿鏁版嵁澶勭悊 + /// </summary> + /// <param name="validTimeDateTime"></param> + /// <param name="inValidTime"></param> + /// <param name="isClearLocalTime"></param> + 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; + } + } + + /// <summary> + /// 鏃堕棿鏄剧ず鏁版嵁澶勭悊 + /// </summary> + /// <param name="validTime"></param> + /// <param name="validTimeDate"></param> + /// <param name="inValidTime"></param> + /// <param name="inValidTimeDate"></param> + /// <param name="isDefaultTime"></param> + void TimeDisplay(Button validTime, Button validTimeDate, Button inValidTime, Button inValidTimeDate, bool isDefaultTime) + { + string hour = ""; + string minute = ""; + if (isDefaultTime) + { + var cur = DateTime.Now; + DoorLockCommonInfo.ValidDateHour = cur.Hour; + DoorLockCommonInfo.ValidDateMinute = cur.Minute; + DoorLockCommonInfo.ValidDateSecond = cur.Second; + DoorLockCommonInfo.InValidDateHour = cur.Hour; + DoorLockCommonInfo.InValidDateMinute = cur.Minute; + DoorLockCommonInfo.InValidDateSecond = cur.Second; + DoorLockCommonInfo.ValidDateYear = cur.Year; + DoorLockCommonInfo.ValidDateMonth = cur.Month; + DoorLockCommonInfo.ValidDateDay = cur.Day; + + var curD = DoorLockCommonInfo.LastDayOfMonth(cur); + if (DoorLockCommonInfo.ValidDateDay == curD.Day) + { + if (DoorLockCommonInfo.ValidDateMonth == 12) + { + DoorLockCommonInfo.InValidDateYear = cur.Year + 1; + DoorLockCommonInfo.InValidDateMonth = 1; + DoorLockCommonInfo.InValidDateDay = 1; + } + else + { + DoorLockCommonInfo.InValidDateYear = cur.Year; + DoorLockCommonInfo.InValidDateMonth = cur.Month + 1; + DoorLockCommonInfo.InValidDateDay = 1; + } + } + else + { + DoorLockCommonInfo.InValidDateYear = cur.Year; + DoorLockCommonInfo.InValidDateMonth = cur.Month; + DoorLockCommonInfo.InValidDateDay = cur.Day + 1; + } + + //doorLock.ReSave(); + } + 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 = "--:--"; + } + 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 = "--:--"; + } + else + { + inValidTime.Text = hour + ":" + minute; + } + + if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth == 0) + { + validTimeDate.Text = "-" + Language.StringByID(R.MyInternationalizationString.Month) + "-" + Language.StringByID(R.MyInternationalizationString.Day); + } + else + { + validTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay + Language.StringByID(R.MyInternationalizationString.Day); + } + + if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth == 0) + { + inValidTimeDate.Text = "-" + Language.StringByID(R.MyInternationalizationString.Month) + "-" + Language.StringByID(R.MyInternationalizationString.Day); + } + else + { + inValidTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay + Language.StringByID(R.MyInternationalizationString.Day); + } + } + } } -- Gitblit v1.8.0