From 74a9ba8e9a2df9c39f9c2eb212a5ac889a055cd4 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期二, 03 十二月 2019 10:47:51 +0800
Subject: [PATCH] 优化UI细节(请合并最新代码)
---
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs | 744 ++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 555 insertions(+), 189 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs
index 79b7e9e..0987e21 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs
@@ -1,5 +1,6 @@
锘縰sing System;
-using Java.Sql;
+using System.Linq.Expressions;
+using Newtonsoft.Json.Linq;
using Shared.Common;
using ZigBee.Device;
@@ -23,26 +24,35 @@
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鏄剧ず
+ /// <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)
+ {
+ 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),
+ X = Application.GetRealWidth(953 - 116),
Height = Application.GetRealHeight(69),
Width = Application.GetRealWidth(1080 - 953),
};
@@ -103,8 +113,29 @@
EventHandler<MouseEventArgs> eHandler2 = (sender2, e2) =>
{
- ZigBee.Device.DoorLock.LocalTempPassword = "";
- dialog.Close();
+ var dialog1 = new Dialog { };
+ var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog1, Language.StringByID(R.MyInternationalizationString.Tip));
+ doorDialog.Show();
+ doorDialog.dialogMidFraFrameLayout.Width = Application.GetRealWidth(415);
+ doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58);
+ doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(190);
+ doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202);
+ doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText);
+ doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.SureToDeleteTempPassword);
+ doorDialog.dialogMidText.TextSize = 14;
+ doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText);
+ doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.Confrim);
+ doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) =>
+ {
+ dialog.Close();
+ dialog1.Close();
+ };
+ doorDialog.dialogBtnConfirm.MouseUpEventHandler += (sender1, e1) =>
+ {
+ dialog.Close();
+ dialog1.Close();
+ ClearEventHandler(btnDelText, dialog1);
+ };
};
delBackgroundFrameLayout.MouseDownEventHandler += eHandler2;
btnDelIcon2.MouseDownEventHandler += eHandler2;
@@ -112,7 +143,7 @@
};
btnDelFrameLayout.MouseDownEventHandler += eHandler;
btnDelIcon.MouseDownEventHandler += eHandler;
-
+ #endregion
MidTopFrameLayout = new FrameLayout()
{
X = Application.GetRealWidth(181),
@@ -152,16 +183,16 @@
Text = Language.StringByID(R.MyInternationalizationString.ClickGenerate),
TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText,
TextSize = 12,
+ Visible = true,
+ Enable = true,
};
topMidTopFrameLayout.AddChidren(topPic);
var randomPassword = new EditText()
{
- X = Application.GetRealWidth(233),
Y = Application.GetRealHeight(153),
Height = Application.GetRealHeight(84),
- Width = Application.GetRealWidth(251),
- TextAlignment = TextAlignment.CenterRight,
+ TextAlignment = TextAlignment.Center,
TextSize = 24,
SecureTextEntry = false,
Enable = false,
@@ -182,144 +213,94 @@
var validTime = new Button()
{
Height = Application.GetRealHeight(55),
- Width = Application.GetRealWidth(115),
- X = Application.GetRealWidth(92),
+ Width = Application.GetRealWidth(92 + 115),
Y = Application.GetRealHeight(386),
TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
- TextAlignment = TextAlignment.CenterLeft,
- TextSize = 14,
+ TextAlignment = TextAlignment.CenterRight,
+ TextSize = 16,
};
MidTopFrameLayout.AddChidren(validTime);
var validTimeDate = new Button()
{
Height = Application.GetRealHeight(49),
- Width = Application.GetRealWidth(135),
- X = Application.GetRealWidth(84),
+ Width = Application.GetRealWidth(84 + 135),
Y = Application.GetRealHeight(441),
TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
- TextSize = 10,
+ TextSize = 12,
+ TextAlignment = TextAlignment.CenterRight,
};
MidTopFrameLayout.AddChidren(validTimeDate);
var inValidTime = new Button()
{
Height = Application.GetRealHeight(55),
- Width = Application.GetRealWidth(118),
+ Width = Application.GetRealWidth(717 - 507),
X = Application.GetRealWidth(507),
Y = Application.GetRealHeight(389),
- Text = "10:00",
TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
TextAlignment = TextAlignment.CenterLeft,
- TextSize = 14,
+ TextSize = 16,
};
MidTopFrameLayout.AddChidren(inValidTime);
var inValidTimeDate = new Button()
{
Height = Application.GetRealHeight(49),
- Width = Application.GetRealWidth(135),
+ Width = Application.GetRealWidth(717 - 508),
X = Application.GetRealWidth(508),
Y = Application.GetRealHeight(444),
TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
TextAlignment = TextAlignment.CenterLeft,
- TextSize = 10,
+ TextSize = 12,
};
MidTopFrameLayout.AddChidren(inValidTimeDate);
BottomFrameLayoutContent();
#region 鏁版嵁澶勭悊
- string hour = "";
- string minute = "";
- if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour < 10)
+ TimeDisplay(validTime, validTimeDate, inValidTime, inValidTimeDate, false);
+ if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify)
{
- hour = "0" + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour;
+ btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+ btnFinifh.Enable = true;
+ topPic.Visible = true;
+ topPic.Enable = true;
}
else
{
- hour = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour.ToString();
+ btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect;
+ btnFinifh.Enable = false;
+ topPic.Visible = false;
+ topPic.Enable = false;
}
- if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute < 10)
- {
- minute = "0" + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute;
- }
- else
- {
- minute = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute.ToString();
- }
- //鏈夋晥鏃堕棿
- if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour == 100)
- {
- validTime.Text = "00:00";
- }
- else
- {
- validTime.Text = hour + ":" + minute;
- }
-
- if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour < 10)
- {
- hour = "0" + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour;
- }
- else
- {
- hour = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour.ToString();
- }
- if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute < 10)
- {
- minute = "0" + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute;
- }
- else
- {
- minute = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute.ToString();
- }
-
- if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour == 100)
- {
- inValidTime.Text = "00:00";
- }
- else
- {
- inValidTime.Text = hour + ":" + minute;
- }
- validTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay + Language.StringByID(R.MyInternationalizationString.Day);
- inValidTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay + Language.StringByID(R.MyInternationalizationString.Day);
-
- if (string.IsNullOrEmpty(ZigBee.Device.DoorLock.LocalTempPassword))
+ if (string.IsNullOrEmpty(doorLock.LocalTempPassword))
{
randomPassword.Text = "- - - - - -";
temPasswordVisiable.Visible = false;
- randomPassword.X = Application.GetRealWidth(215);
randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMGray4;
+ Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true;
+ topPic.Visible = true;
+ topPic.Enable = true;
}
else
{
- randomPassword.Text = ZigBee.Device.DoorLock.LocalTempPassword;
+ randomPassword.Text = doorLock.LocalTempPassword;
temPasswordVisiable.Visible = true;
- }
- if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable)
- {
- randomPassword.SecureTextEntry = false;
- temPasswordVisiable.IsSelected = true;
- randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMOrange;
- }
- else
- {
- randomPassword.SecureTextEntry = true;
- temPasswordVisiable.IsSelected = false;
- randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMGray4;
+ if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable)
+ {
+ randomPassword.SecureTextEntry = false;
+ temPasswordVisiable.IsSelected = true;
+ randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMOrange;
+ }
+ else
+ {
+ randomPassword.SecureTextEntry = true;
+ temPasswordVisiable.IsSelected = false;
+ randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMGray4;
+ }
}
- topPic.MouseUpEventHandler += (sender, e) =>
- {
- randomPassword.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetTempPassword();
- ZigBee.Device.DoorLock.LocalTempPassword = randomPassword.Text;
- temPasswordVisiable.IsSelected = true;
- temPasswordVisiable.Visible = true;
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = true;
- randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMOrange;
- };
temPasswordVisiable.MouseUpEventHandler += (sender, e) =>
{
temPasswordVisiable.IsSelected = !temPasswordVisiable.IsSelected;
@@ -338,40 +319,16 @@
topPic.MouseUpEventHandler += (sender, e) =>
{
randomPassword.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetTempPassword();
- ZigBee.Device.DoorLock.LocalTempPassword = randomPassword.Text;
+ doorLock.LocalTempPassword = randomPassword.Text;
+ TimeDisplay(validTime, validTimeDate, inValidTime, inValidTimeDate, true);
+ btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;//XMUnSelect
+ btnFinifh.Enable = true;
+ Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true;
randomPassword.SecureTextEntry = false;
temPasswordVisiable.IsSelected = true;
Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = true;
randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMOrange;
};
-
- EventHandler<MouseEventArgs> handerValidTimeDateSet = (sender, e) =>
- {
- var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "ValidTime");
- Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage);
- Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- tempPage.Show();
-
- tempPage.timeSetAction += () =>
- {
- MidFrameLayoutContent();
- };
- };
- validTimeDate.MouseUpEventHandler += handerValidTimeDateSet;
- validTime.MouseUpEventHandler += handerValidTimeDateSet;
- EventHandler<MouseEventArgs> handerInValidTimeSet = (sender, e) =>
- {
- var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "InValidTime");
- Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage);
- Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- tempPage.Show();
- tempPage.timeSetAction += () =>
- {
- MidFrameLayoutContent();
- };
- };
- inValidTime.MouseUpEventHandler += handerInValidTimeSet;
- inValidTimeDate.MouseUpEventHandler += handerInValidTimeSet;
#endregion
}
//搴曢儴鐣岄潰鍜屾暟鎹鐞�
@@ -467,27 +424,48 @@
int curIndex = i;
EventHandler<MouseEventArgs> hander = (sender, e) =>
{
- if (curIndex == 0)
+ if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify)
{
- var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "ValidTime");
- Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage);
- Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- tempPage.Show();
- tempPage.timeSetAction += () =>
+ if (curIndex == 0)
{
- MidFrameLayoutContent();
- };
- }
- if (curIndex == 1)
- {
- var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "InValidTime");
- Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage);
- Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- tempPage.Show();
- tempPage.timeSetAction += () =>
+ if (string.IsNullOrEmpty(doorLock.LocalTempPassword))
+ {
+ //璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜锛�
+ Application.RunOnMainThread(() =>
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
+ });
+ 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)
{
- MidFrameLayoutContent();
- };
+ if (string.IsNullOrEmpty(doorLock.LocalTempPassword))
+ {
+ //璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜锛�
+ Application.RunOnMainThread(() =>
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
+ });
+ 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;
@@ -496,7 +474,30 @@
btnNext.MouseDownEventHandler += hander;
}
- var btnFinifh = new Button()
+ 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),
@@ -504,69 +505,434 @@
Y = Application.GetRealHeight(760),
Radius = (uint)Application.GetRealHeight(120) / 2,
TextID = R.MyInternationalizationString.Confrim,
- BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack,
- //BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect,
+ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect,
TextColor = Shared.Common.ZigbeeColor.Current.XMWhite,
TextSize = 16,
+ Enable = false,
};
bottomFrameLayout.AddChidren(btnFinifh);
btnFinifh.MouseUpEventHandler += async (sender, e) =>
- {
- FinifhEventHandler(btnFinifh);
- };
-
+ {
+ FinifhEventHandler(btnFinifh);
+ };
}
//纭畾浜嬩欢澶勭悊
- async private void FinifhEventHandler(Button btnFinifh)
+ void FinifhEventHandler(Button btnFinifh)
{
- if (ZigBee.Device.DoorLock.LocalTempPassword == "")
+ System.Threading.Tasks.Task.Run(async () =>
{
- //璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜锛�
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
- return;
+ Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
+ try
+ {
+ if (string.IsNullOrEmpty(doorLock.LocalTempPassword))
+ {
+ //璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜锛�
+ Application.RunOnMainThread(() =>
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1), 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 - 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(() =>
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
+ });
+ 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;
+ }
+ 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)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+ });
+ return;
+ }
+ if (result1.StateCode != "Success")
+ {
+ Application.RunOnMainThread(() =>
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+ });
+ return;
+ }
+ 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;
+ }
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
+ });
+ return;
+ }
+ }
+ catch (Exception ex)
+ {
+ var mess = ex.Message;
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ MidFrameLayoutContent();
+ CommonPage.Loading.Hide();
+ });
+ }
+ });
+ }
+
+ //娓呴櫎浜嬩欢澶勭悊
+ async void ClearEventHandler(Button btnDelText = null, Dialog dialog = null)
+ {
+ if (btnDelText == null)
+ {
+ btnDelText = new Button();
}
- if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour == 100)
+ Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
+ try
{
- //璇疯缃敓鏁堟椂闂达紱
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip2), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
- return;
+ if (doorLock.tempPasswordObject != null)
+ {
+ var passData = doorLock.SetUserAccessData(doorLock.tempPasswordObject.UserId, ZigBee.Device.DoorLock.AccessType.DelCurrentUser);
+ var resultData = await doorLock.DefaultControlAsync(passData);
+ if (resultData != null && resultData.defaultControlResponseData != null)
+ {
+ if (resultData.defaultControlResponseData.status == 0)
+ {
+ 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(() =>
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1) + ".", Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+ });
+ }
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+ });
+ }
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ 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.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDelText);
+
+ }
+ }
}
- if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth == 0)
+ catch { }
+ finally
{
- //璇疯缃敓鏁堟棩鏈燂紱
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip3), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
- return;
- }
- if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour == 100)
- {
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip4), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
- return;
- }
- if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth == 0)
- {
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip5), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
- return;
- }
- var dNow = DateTime.Now;
- var validDateTime = new DateTime(dNow.Year, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute, dNow.Second);
- var inValidDateTime = new DateTime(dNow.Year, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute, dNow.Second);
- var result = await doorLock.TempPasswordAsync(ZigBee.Device.DoorLock.LocalTempPassword, validDateTime, inValidDateTime);
- if (result != null && result.responseData != null && result.responseData.status == 0)
- {
- var aa = 0;
- }
- else
- {
- //澶辫触
+ Application.RunOnMainThread(() =>
+ {
+ if (dialog != null)
+ {
+ dialog.Close();
+ }
+ MidFrameLayoutContent();
+ CommonPage.Loading.Hide();
+ });
}
}
- //鐢熸垚闅忔満鏁颁簨浠跺鐞�
- private void RandomPasswordMouseUpEventHandler(Button randomPassword)
+ //璇诲彇浜戠瀛樺偍鏁版嵁
+ void ReadTempPasswordData()
{
+ System.Threading.Tasks.Task.Run(async () =>
+ {
+ Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
+ try
+ {
+ var getDoorLockTempPasswordData = new ZigBee.Device.DoorLock.GetDoorLockTempPasswordData();
+ if (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;
+ doorLock.LocalTempPassword = tpObj.TempPassword = curDoorLockTempPaw.TempPwd;
+ 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
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+ }
+ }
+ 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;
+ //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 = "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