From 72e1b4e4626315ebd4b879a68c94e7738fd0473e Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期一, 28 十月 2019 11:00:28 +0800
Subject: [PATCH] 2019-10-28-1
---
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs | 871 +++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 655 insertions(+), 216 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs
index 6f7e2f3..b820eb9 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs
@@ -1,4 +1,6 @@
锘縰sing System;
+using System.Linq.Expressions;
+using Newtonsoft.Json.Linq;
using Shared.Common;
using ZigBee.Device;
@@ -15,16 +17,22 @@
this.doorLock = doorLock;
BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
ZigBee.Device.ZbGateway.StatusList.Add(this);
+ ReadTempPasswordData();
}
#region 鈼� 鍙橀噺鐢虫槑__________________________
ZigBee.Device.DoorLock doorLock;
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()
{
@@ -32,73 +40,163 @@
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);
-
- MidFrameLayoutContent();
-
- }
-
- /// <summary>
- /// 璇婚棬閿佷复鏃跺瘑鐮佷俊鎭�
- /// </summary>
- /// <param name="door_lock">Door lock.</param>
- void readStatus()
- {
- System.Threading.Tasks.Task.Run(() =>
+ #region btnDelFrameLayout
+ var btnDelFrameLayout = new FrameLayout
{
+ X = Application.GetRealWidth(953),
+ 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) =>
+ {
+ 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 = 12,
+ };
+ delBackgroundFrameLayout.AddChidren(btnDelText);
+
+ EventHandler<MouseEventArgs> eHandler2 = (sender2, e2) =>
+ {
+ 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),
+ Y = Application.GetRealHeight(92),
+ Width = Application.GetRealWidth(717),
+ Height = Application.GetRealHeight(570),
+ BackgroundImagePath = "DoorLock/TempPasswordBackground.png",
+ };
+ this.midFrameLayout.AddChidren(MidTopFrameLayout);
+ MidFrameLayoutContent();
}
public void MidFrameLayoutContent()
{
- var MidTopFrameLayout = new FrameLayout()
+ MidTopFrameLayout.RemoveAll();
+ var TempPasswordBackground1 = new Button()
{
- X = Application.GetRealWidth(196),
- Y = Application.GetRealHeight(276),
- Width = Application.GetRealWidth(668),
- Height = Application.GetRealHeight(527),
- BackgroundColor = ZigbeeColor.Current.XMWhite,
+ Height = Application.GetRealHeight(43),
+ Width = Application.GetRealWidth(259),
+ X = Application.GetRealWidth(230),
+ Y = Application.GetRealHeight(418),
+ UnSelectedImagePath = "DoorLock/TempPasswordBackground1.png",
};
- this.midFrameLayout.AddChidren(MidTopFrameLayout);
+ MidTopFrameLayout.AddChidren(TempPasswordBackground1);
+
+ var topMidTopFrameLayout = new FrameLayout()
+ {
+ Height = Application.GetRealHeight(313),
+ };
+ MidTopFrameLayout.AddChidren(topMidTopFrameLayout);
var topPic = new Button()
{
- Height = Application.GetRealHeight(184),
- Width = Application.GetRealWidth(184),
- X = Application.GetRealWidth(449),
- Y = Application.GetRealHeight(58),
+ Height = Application.GetRealHeight(81),
+ Y = Application.GetRealHeight(48),
TextAlignment = TextAlignment.Center,
- Text = Language.StringByID(R.MyInternationalizationString.RandomPasword),
- TextColor = Shared.Common.ZigbeeColor.Current.XMGray1,
+ Text = Language.StringByID(R.MyInternationalizationString.ClickGenerate),
+ TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText,
+ TextSize = 12,
};
- this.midFrameLayout.AddChidren(topPic);
+ topMidTopFrameLayout.AddChidren(topPic);
var randomPassword = new EditText()
{
+ X = Application.GetRealWidth(233),
Y = Application.GetRealHeight(153),
Height = Application.GetRealHeight(84),
- TextAlignment = TextAlignment.Center,
- TextColor = Shared.Common.ZigbeeColor.Current.XMOrange,
+ Width = Application.GetRealWidth(251),
+ TextAlignment = TextAlignment.CenterRight,
TextSize = 24,
- Text = GetTempPassword(),
+ SecureTextEntry = false,
+ Enable = false,
};
- MidTopFrameLayout.AddChidren(randomPassword);
+ 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(115),
- X = Application.GetRealWidth(78),
+ X = Application.GetRealWidth(92),
Y = Application.GetRealHeight(386),
- Text = "12:00",
TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
TextAlignment = TextAlignment.CenterLeft,
- TextSize = 12,
+ TextSize = 14,
};
MidTopFrameLayout.AddChidren(validTime);
@@ -106,23 +204,22 @@
{
Height = Application.GetRealHeight(49),
Width = Application.GetRealWidth(135),
- X = Application.GetRealWidth(69),
+ X = Application.GetRealWidth(84),
Y = Application.GetRealHeight(441),
TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
- Text = "8" + Language.StringByID(R.MyInternationalizationString.Month) + "1" + Language.StringByID(R.MyInternationalizationString.Day),
+ TextSize = 10,
};
MidTopFrameLayout.AddChidren(validTimeDate);
var inValidTime = new Button()
{
Height = Application.GetRealHeight(55),
- Width = Application.GetRealWidth(115),
- X = Application.GetRealWidth(492),
- Y = Application.GetRealHeight(386),
- Text = "10:00",
+ Width = Application.GetRealWidth(118),
+ X = Application.GetRealWidth(507),
+ Y = Application.GetRealHeight(389),
TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
TextAlignment = TextAlignment.CenterLeft,
- TextSize = 12,
+ TextSize = 14,
};
MidTopFrameLayout.AddChidren(inValidTime);
@@ -130,121 +227,92 @@
{
Height = Application.GetRealHeight(49),
Width = Application.GetRealWidth(135),
- X = Application.GetRealWidth(484),
- Y = Application.GetRealHeight(441),
+ X = Application.GetRealWidth(508),
+ Y = Application.GetRealHeight(444),
TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
TextAlignment = TextAlignment.CenterLeft,
- Text = "8" + Language.StringByID(R.MyInternationalizationString.Month) + "2" + Language.StringByID(R.MyInternationalizationString.Day),
+ TextSize = 10,
};
MidTopFrameLayout.AddChidren(inValidTimeDate);
- //var inputCountText = new EditText()
- //{
- // Width = Application.GetRealWidth(780),
- // Height = Application.GetRealHeight(100),
- // X = Application.GetRealWidth(80),
- // Y = validCountText.Bottom + Application.GetRealHeight(10),
- // PlaceholderText = doorLock.tempPasswordObj.times.ToString(),
- // PlaceholderTextColor = 0xffc1c1c1,
- // TextAlignment = TextAlignment.Center,
- // //UnSelectedImagePah = "Register/Register_Kuang.png",
- // BackgroundColor = 0xff00ff00,
- //};
- //this.midFrameLayout.AddChidren(inputCountText);
-
- //var unitCount = new Button()
- //{
- // Height = Application.GetRealHeight(50),
- // Width = Application.GetRealWidth(100),
- // X = inputCountText.Right + Application.GetRealWidth(2),
- // Y = Application.GetRealHeight(490),
- // Text = Language.StringByID(R.MyInternationalizationString.Ci),
- // TextAlignment = TextAlignment.CenterLeft,
- // TextSize = 12,
- // TextColor = 0xff000000,
- //};
- //this.midFrameLayout.AddChidren(unitCount);
-
- //var remindPic2 = new Button()
- //{
- // Height = Application.GetRealHeight(40),
- // Width = Application.GetRealWidth(40),
- // X = Application.GetRealWidth(80),
- // Y = inputCountText.Bottom + Application.GetRealHeight(18),
- // //UnSelectedImagePath = "DoorLockPic/door_lock_alert.png",
- // BackgroundColor = 0xff0000ff,
- //};
- //this.midFrameLayout.AddChidren(remindPic2);
-
- //var maxValidCount = new Button()
- //{
- // Width = Application.GetRealWidth(550),
- // Height = Application.GetRealHeight(80),
- // X = remindPic2.Right + Application.GetRealWidth(8),
- // Y = inputCountText.Bottom,
- // Text = Language.StringByID(R.MyInternationalizationString.MaxValicCount),
- // TextAlignment = TextAlignment.CenterLeft,
- // TextSize = 10,
- // TextColor = 0xff000000,
- //};
- //this.midFrameLayout.AddChidren(maxValidCount);
-
- //var remindFrameLayout = new FrameLayout()
- //{
- // Height = Application.GetRealHeight(350),
- // Y = remindPic2.Bottom + Application.GetRealHeight(90),
- // BackgroundColor = 0xff00ffff,
- //};
- //this.midFrameLayout.AddChidren(remindFrameLayout);
-
- //var TempPasswordText = new Button()
- //{
- // X = Application.GetRealWidth(80),
- // Y = Application.GetRealHeight(10),
- // Width = Application.GetRealWidth(300),
- // Height = Application.GetRealHeight(80),
- // TextAlignment = TextAlignment.CenterLeft,
- // Text = Language.StringByID(R.MyInternationalizationString.DynamicTempPassword),
- // TextColor = 0xffff0000,
- //};
- //remindFrameLayout.AddChidren(TempPasswordText);
-
- //for (int i = 0; i < 6; i++)
- //{
- // passwordText = new Button()
- // {
- // Height = Application.GetRealHeight(150),
- // Width = Application.GetRealWidth(80),
- // TextAlignment = TextAlignment.Center,
- // Y = TempPasswordText.Bottom + Application.GetRealHeight(10),
- // TextSize = 28,
- // BackgroundColor = 0xff0000ff,
- // };
- // remindFrameLayout.AddChidren(passwordText);
- // if (i == 0)
- // {
- // passwordText.X = Application.GetRealWidth(90);
- // }
- // else
- // {
- // passwordText.X = (i + 1) * Application.GetRealWidth(90) + (i + 1) * Application.GetRealWidth(10);
- // }
- // if (i == 1 || i == 3 || i == 5)
- // {
- // passwordText.BackgroundColor = 0xff00ff00;
- // }
- // pawButtonList.Add(passwordText);
- //}
-
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;
+ }
+ else
+ {
+ btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect;
+ btnFinifh.Enable = false;
+ }
+ 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 = 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
+ }
+ //搴曢儴鐣岄潰鍜屾暟鎹鐞�
public void BottomFrameLayoutContent()
{
var bottomFrameLayout = new FrameLayout()
{
Height = Application.GetRealHeight(1025),
- Y = Application.GetRealHeight(896),
+ Y = Application.GetRealHeight(711),
BackgroundColor = ZigbeeColor.Current.XMWhite,
};
this.midFrameLayout.AddChidren(bottomFrameLayout);
@@ -257,32 +325,53 @@
Text = Language.StringByID(R.MyInternationalizationString.InformationEdit),
TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
TextAlignment = TextAlignment.CenterLeft,
- TextSize = 12,
+ TextSize = 15,
};
bottomFrameLayout.AddChidren(informationEdit);
- for (int i = 0; i < 3; i++)
+
+ for (int i = 0; i < 2; i++)
{
var btnValidTime = new Button()
{
- Width = Application.GetRealWidth(743),
+ Width = Application.GetRealWidth(453),
Height = Application.GetRealHeight(58),
X = Application.GetRealWidth(58),
Text = Language.StringByID(R.MyInternationalizationString.ValidTime),
- TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
+ TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
TextAlignment = TextAlignment.CenterLeft,
- TextSize = 12,
+ 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),
- X = Application.GetRealWidth(956),
- Y = Application.GetRealHeight(204),
- BackgroundColor = ZigbeeColor.Current.XMOrange,
+ UnSelectedImagePath = "Item/Next.png",
+ SelectedImagePath = "Item/Down.png",
};
- bottomFrameLayout.AddChidren(btnNext);
+ btnNextFrameLayout.AddChidren(btnNext);
var btnLine = new FrameLayout()
{
@@ -297,83 +386,433 @@
{
btnValidTime.Y = Application.GetRealHeight(204);
btnValidTime.Text = Language.StringByID(R.MyInternationalizationString.ValidTime);
- btnNext.Y = btnValidTime.Y;
+ btnModifyText.Y = btnNextFrameLayout.Y = btnValidTime.Y;
btnLine.Y = Application.GetRealHeight(308);
- btnNext.MouseDownEventHandler += (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();
- };
}
else if (i == 1)
{
btnValidTime.Y = Application.GetRealHeight(343);
btnValidTime.Text = Language.StringByID(R.MyInternationalizationString.InValidTime);
- btnNext.Y = btnValidTime.Y;
+ btnModifyText.Y = btnNextFrameLayout.Y = btnValidTime.Y;
btnLine.Y = Application.GetRealHeight(446);
- btnNext.MouseDownEventHandler += (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();
- };
}
- else if (i == 2)
+ int curIndex = i;
+ EventHandler<MouseEventArgs> hander = (sender, e) =>
{
- btnValidTime.Y = Application.GetRealHeight(481);
- btnValidTime.Text = Language.StringByID(R.MyInternationalizationString.ClearTempPassword);
- btnNext.Y = btnValidTime.Y;
- btnLine.Y = Application.GetRealHeight(1025 - 449);
- }
+ if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify)
+ {
+ if (curIndex == 0)
+ {
+ 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)
+ {
+ 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;
}
+ 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,
+ Enable = false,
+ };
+ bottomFrameLayout.AddChidren(btnFinifh);
- //var bottomLine = new Button()
- //{
- // Height = Application.GetRealHeight(1),
- // BackgroundColor = 0xff000000,
- //};
- //bottomFrameLayout.AddChidren(bottomLine);
-
- //var generateTempPassword = new Button()
- //{
- // Y = bottomLine.Bottom,
- // Height = Application.GetRealHeight(180),
- // TextID = R.MyInternationalizationString.GenerateTemporaryPassword,
- // TextSize = 15,
- // BackgroundColor = 0xFF121212,
- // SelectedBackgroundColor = 0xFFFC5806,
- //};
- //bottomFrameLayout.AddChidren(generateTempPassword);
- //string tempPaw = "";
- //generateTempPassword.MouseUpEventHandler += (sender, e) =>
- //{
- // tempPaw = GetTempPassword();
- // for (int i = 0; i < tempPaw.Length; i++)
- // {
- // for (int j = 0; j < pawButtonList.Count; j++)
- // {
- // if (i == j)
- // {
- // pawButtonList[j].Text = tempPaw[i].ToString();
- // }
- // }
- // }
- //};
+ btnFinifh.MouseUpEventHandler += async (sender, e) =>
+ {
+ FinifhEventHandler(btnFinifh);
+ };
}
- /// <summary>
- /// 鐢熸垚6浣嶄复鏃跺瘑鐮�
- /// </summary>
- /// <returns></returns>
- public string GetTempPassword()
+ //纭畾浜嬩欢澶勭悊
+ void FinifhEventHandler(Button btnFinifh)
{
- string password = "";
- password = new Random().Next(100000, 999999).ToString();
- return password;
+ System.Threading.Tasks.Task.Run(async () =>
+ {
+ 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();
+ }
+ 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 && 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);
+
+ }
+ }
+ }
+ catch { }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ if (dialog != null)
+ {
+ dialog.Close();
+ }
+ MidFrameLayoutContent();
+ CommonPage.Loading.Hide();
+ });
+ }
+ }
+
+ //璇诲彇浜戠瀛樺偍鏁版嵁
+ 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