From e2cd94abacc0101af8d0db7fed3a785c1a045b5d Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 07 五月 2020 09:28:51 +0800
Subject: [PATCH] 上传
---
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs | 197 ++++++++++++++++++++++--------------------------
1 files changed, 91 insertions(+), 106 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
index fdac3f9..5673d8f 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
@@ -47,7 +47,7 @@
/// </summary>
bool canVolume = false;
/// <summary>
- /// 淇濈暀涓婁竴娆¢煶閲�
+ /// 鏄惁鏀寔甯稿紑
/// </summary>
bool canOpenNormallyMode = false;
/// <summary>
@@ -218,7 +218,7 @@
ClickHandle();
- if (doorLock.IsOnline == 1)
+ if (Common.LocalDevice.Current.CheckDeviceIsOnline(doorLock) == true)
{
ReadDoorLockUserInfo();
}
@@ -605,15 +605,11 @@
{
return;
}
- string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
- if (doorLock.IsDoorLockNormallyMode.ContainsKey(key))
+ if (doorLock.IsDoorLockNormallyMode)
{
- if (doorLock.IsDoorLockNormallyMode[key] == true)
- {
- if (canOpenNormallyMode)
- {
- Application.RunOnMainThread(() => { NomallyOpenModeInvalidDialog(true); });
- }
+ if (canOpenNormallyMode)
+ {
+ Application.RunOnMainThread(() => { NomallyOpenModeInvalidDialog(true); });
}
}
}
@@ -685,12 +681,10 @@
{
tempRes = false;
}
-
- NormallyOpenModeValue(tempRes);
-
+ DoorLockCommonInfo.NormallyOpenModeValue(doorLock, tempRes);
Application.RunOnMainThread(async () =>
{
- var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist();
+ var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(2);
if (resTemp == 1)
{
HaveLogicNormallyOpenMode = true;
@@ -790,8 +784,9 @@
//璁剧疆
EventHandler<MouseEventArgs> btnFuncSetHander = (sender, e) =>
{
- //鎵撳紑鍏朵粬鐣岄潰鏃跺墠绉婚櫎
- RemoveFromParent();
+ //鎵撳紑鍏朵粬鐣岄潰鏃跺墠绉婚櫎銆愭殏鏃朵笉绉婚櫎銆�
+ //RemoveFromParent();
+
var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(currentRoom, doorLock);
Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting);
Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
@@ -850,20 +845,11 @@
//寮�閿佷簨浠�
EventHandler<MouseEventArgs> hander1 = async (sender, e) =>
{
-
- string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
- if (doorLock.IsDoorLockNormallyMode.ContainsKey(key))
+ if (doorLock.IsDoorLockNormallyMode)
{
- if (doorLock.IsDoorLockNormallyMode[key] == true)
- {
- if (canOpenNormallyMode)
- {
- NomallyOpenModeInvalidDialog(false);
- }
- else
- {
- OpenDoorLockHandle(progressButton, btnDoorLockPic, btnStatus);
- }
+ if (canOpenNormallyMode)
+ {
+ NomallyOpenModeInvalidDialog(false);
}
else
{
@@ -887,13 +873,9 @@
{
if (canOpenNormallyMode)
{
- var key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
- if (doorLock.IsDoorLockNormallyMode.ContainsKey(key))
+ if (doorLock.IsDoorLockNormallyMode)
{
- if (doorLock.IsDoorLockNormallyMode[key] == true)
- {
- NomallyOpenModeInvalidDialog();
- }
+ NomallyOpenModeInvalidDialog();
}
}
else
@@ -1036,51 +1018,64 @@
}
#endregion
- #region 甯稿紑妯″紡
- /// <summary>
- /// 闂ㄩ攣甯稿紑妯″紡鍊�
- /// </summary>
- public void NormallyOpenModeValue(bool value)
- {
- string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
- if (doorLock.IsDoorLockNormallyMode.ContainsKey(key))
- {
- doorLock.IsDoorLockNormallyMode[key] = value;
- }
- else
- {
- doorLock.IsDoorLockNormallyMode.Add(key, value);
- }
- }
-
+ #region 甯稿紑妯″紡
/// <summary>
/// 甯稿紑妯″紡澶勭悊
/// </summary>
private async void NomallyOpenDialog()
{
+ #region 鍚庣画鐗堟湰
+ if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+ {
+ this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate));
+ return;
+ }
+
+ if (!UserCenterResourse.AccountOption.DoorUnLockByRemote)
+ {
+ SystemSecondAuthentication();
+ return;
+ }
+
+ action = () =>
+ {
+ //绯荤粺瀵嗙爜鏀寔鎿嶄綔闂ㄩ攣鍚庯紝璋冪敤娓╁眳鍩庣殑鐣岄潰銆愬父寮�鑷姩鍖栥��
+ var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(currentRoom, doorLock);
+ Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting);
+ Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+ functionSetting.Show();
+ // functionSetting.aaaAction = () =>
+ //{
+ // UpdateNomallyOpenStatus();
+ //};
+ };
+ HdlCheckLogic.Current.CheckSecondarySecurity(action);
+ #endregion
+
+ #region 鏆傛椂鐗堟湰 (鏈�缁堝幓鎺夛級
if (!btnNormallyOpen.IsSelected)
{
if (UserCenterResourse.UserInfo.AuthorityNo != 1)
- {
+ {
this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate));
+ return;
+ }
+
+ if (!UserCenterResourse.AccountOption.DoorUnLockByRemote)
+ {
+ SystemSecondAuthentication();
return;
- }
-
- if (!UserCenterResourse.AccountOption.DoorUnLockByRemote)
- {
- SystemSecondAuthentication();
- return;
- }
-
- action = () =>
- {
+ }
+
+ action = () =>
+ {
string msg = Language.StringByID(R.MyInternationalizationString.SetDoorLockNomallyOpen).Replace("{0}", "\r\n");
var confirm = Language.StringByID(R.MyInternationalizationString.Confrim);
var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msg, confirm);
- alert.Show();
+ alert.Show();
- alert.ConfirmClickEvent += async () =>
- {
+ alert.ConfirmClickEvent += async () =>
+ {
Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
var result = await doorLock.SetNormallyOpenModeFuncAsync(true);
if (result == null || result.defaultControlResponseData == null)
@@ -1102,24 +1097,27 @@
//姣忔閲嶆柊璁剧疆甯稿紑锛岄粯璁ゆ椂闂撮兘鏄�12灏忔椂
DoorLockCommonInfo.NormallyOpenModeInvalidTime = 12;
- NormallyOpenModeValue(true);
- Application.RunOnMainThread(() =>
+ DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true);
+ Application.RunOnMainThread(() =>
{
- UpdateNomallyOpenStatus();
+ UpdateNomallyOpenStatus();
CommonPage.Loading.Hide();
});
//甯稿紑妯″紡寮�鍚彁绀�
AlreadyOpenNormallyMode();
}
- };
- };
- HdlCheckLogic.Current.CheckSecondarySecurity(action);
+ };
+
+ };
+ HdlCheckLogic.Current.CheckSecondarySecurity(action);
}
else
{
NomallyOpenModeInvalidDialog();
}
+
+ #endregion
}
/// <summary>
@@ -1146,8 +1144,8 @@
{
if (IsFromReport)
{
- //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑堬紝app榛樿浜嗏�滃父寮�妯″紡鈥濊鍙栨秷
- NormallyOpenModeValue(false);
+ //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑堬紝app榛樿浜嗏�滃父寮�妯″紡鈥濊鍙栨秷
+ DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false);
Application.RunOnMainThread(() =>
{
UpdateNomallyOpenStatus();
@@ -1165,8 +1163,8 @@
}
else
{
- //app榛樿鈥滃父寮�妯″紡鈥濊繕鏄紑鍚�
- NormallyOpenModeValue(true);
+ //app榛樿鈥滃父寮�妯″紡鈥濊繕鏄紑鍚�
+ DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true);
Application.RunOnMainThread(() =>
{
UpdateNomallyOpenStatus();
@@ -1195,11 +1193,11 @@
var result = await doorLock.SetNormallyOpenModeFuncAsync(true);
if (result == null || result.defaultControlResponseData == null)
{
- string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime);
- this.ShowTipMsg(msg0);
- NormallyOpenModeValue(false);
Application.RunOnMainThread(() =>
{
+ string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime);
+ this.ShowTipMsg(msg0);
+ DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false);
UpdateNomallyOpenStatus();
});
return;
@@ -1208,7 +1206,7 @@
{
string msg1 = Language.StringByID(R.MyInternationalizationString.OpenNormallyOpenModeFailed);
this.ShowTipMsg(msg1);
- NormallyOpenModeValue(false);
+ DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false);
Application.RunOnMainThread(() =>
{
UpdateNomallyOpenStatus();
@@ -1217,8 +1215,8 @@
}
else
{
- //淇濇寔鈥滃父寮�鎴愬姛鈥�
- NormallyOpenModeValue(true);
+ //淇濇寔鈥滃父寮�鎴愬姛鈥�
+ DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true);
Application.RunOnMainThread(() =>
{
UpdateNomallyOpenStatus();
@@ -1237,8 +1235,8 @@
}
else
{
- //app鎿嶄綔涓嶅彇娑堚�滃父寮�妯″紡鈥�
- NormallyOpenModeValue(true);
+ //app鎿嶄綔涓嶅彇娑堚�滃父寮�妯″紡鈥�
+ DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true);
Application.RunOnMainThread(() =>
{
UpdateNomallyOpenStatus();
@@ -1250,8 +1248,8 @@
{
if (IsFromReport)
{
- //涓婃姤闂ㄩ攣鈥滃父寮�妯″紡鈥濆凡缁忓彇娑堬紝鐜板湪app纭鈥滃父寮�妯″紡鈥濆彇娑�
- NormallyOpenModeValue(false);
+ //涓婃姤闂ㄩ攣鈥滃父寮�妯″紡鈥濆凡缁忓彇娑堬紝鐜板湪app纭鈥滃父寮�妯″紡鈥濆彇娑�
+ DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false);
Application.RunOnMainThread(() =>
{
UpdateNomallyOpenStatus();
@@ -1290,8 +1288,8 @@
//娣诲姞App寮�鍚父寮�妯″紡鐨勫巻鍙茶褰�
HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(this.doorLock, 9002, string.Empty);
- //app纭鍙栨秷鈥滃父寮�妯″紡鈥濇垚鍔�
- NormallyOpenModeValue(false);
+ //app纭鍙栨秷鈥滃父寮�妯″紡鈥濇垚鍔�
+ DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false);
Application.RunOnMainThread(() =>
{
UpdateNomallyOpenStatus();
@@ -1367,19 +1365,6 @@
alertTimeInValidSetting.InvalidTimeAction += async (obj) =>
{
- Regex rg = new Regex("^[0-9]+$");
- if (!rg.IsMatch(obj))
- {
- //蹇呴』鏄暟瀛�
- string msg0 = Language.StringByID(R.MyInternationalizationString.NormallyOpenModeInvalidTimeTip);
- this.ShowTipMsg(msg0);
-
- string msgTimeInValidSetting2 = Language.StringByID(R.MyInternationalizationString.DoorLockOpenAllTheTime);
- var timeConfrim2 = Language.StringByID(R.MyInternationalizationString.Confrim);
- var alertTimeInValidSetting2 = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.InValid, msgTimeInValidSetting2, timeConfrim2);
- alertTimeInValidSetting2.Show();
- return;
- }
//甯稿紑妯″紡澶辨晥鏃堕棿璁剧疆鎴愬姛
var temp = int.Parse(obj);
DoorLockCommonInfo.NormallyOpenModeInvalidTime = temp;
@@ -1389,8 +1374,8 @@
{
//榛樿鍒涘缓甯稿紑妯″紡澶辫触
string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed);
- this.ShowTipMsg(msg0);
-
+ var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, msg0, Language.StringByID(R.MyInternationalizationString.confrim));
+ alert.Show();
//浜屾鍔犺浇寮圭獥 甯稿紑妯″紡寮�鍚彁绀�
NomallyOpenModeInvalidTimeDialog();
}
@@ -1407,8 +1392,7 @@
btnNormallyOpenFrameLayout.Width = Application.GetRealWidth(0);
return;
}
- string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
- if (doorLock.IsDoorLockNormallyMode[key] == true)
+ if (doorLock.IsDoorLockNormallyMode)
{
btnNormallyOpen.IsSelected = true;
btnDoorLockPic.IsSelected = true;
@@ -1416,7 +1400,7 @@
btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.DoorLockOpen);
}
- else if (doorLock.IsDoorLockNormallyMode[key] == false)
+ else if (!doorLock.IsDoorLockNormallyMode)
{
btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.CLose);
btnDoorLockPic.IsSelected = false;
@@ -1505,6 +1489,7 @@
CommonPage.Instance.IsDrawerLockMode = false;
}
ZbGateway.StatusList.Remove(this);
+ DoorLockCommonInfo.LogicAction = null;
base.RemoveFromParent();
}
#endregion
--
Gitblit v1.8.0