From 1fee912d2378f4fe11218257509fb3ec3ee313be Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期四, 26 三月 2020 18:16:07 +0800
Subject: [PATCH] 2020-03-26-2
---
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs | 137 +++++++++++++++++++++++++++++++++++++++++----
1 files changed, 124 insertions(+), 13 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
index 50f9bfe..4c8f07e 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
+using Shared.Common;
using ZigBee.Device;
namespace Shared.Phone.UserCenter.DoorLock
@@ -9,6 +10,14 @@
public class DoorLockCommonInfo : CommonDevice
{
#region 鏈湴鍙橀噺
+ /// <summary>
+ /// 鏄惁甯稿紑妯″紡[褰撴暟鎹幏鍙栧け璐ワ紝杩斿洖绌篯
+ /// </summary>
+ public static bool? IsDoorLockNormallyMode = new bool?();
+ /// <summary>
+ /// 甯稿紑妯″紡鏃堕棿
+ /// </summary>
+ public static int NormallyOpenModeInvalidTime = 12;
/// <summary>
/// 鏄惁鏀寔淇敼
/// </summary>
@@ -67,6 +76,69 @@
public static int InValidDateSecond = 0;
#endregion
+ /// <summary>
+ /// 鑾峰彇褰撳墠闂ㄩ攣鐨勫父寮�妯″紡
+ /// </summary>
+ /// <param name="doorLock:褰撳墠闂ㄩ攣"></param>
+ /// <returns></returns>
+ public static async System.Threading.Tasks.Task<bool?> GetNormallyOpenMode(ZigBee.Device.DoorLock doorLock)
+ {
+ var result = await doorLock.ReadNormallyOpenModeFuncAsync();
+ //鍏遍�氶敊璇娴�
+ string error = HdlCheckLogic.Current.CheckCommonErrorCode(result);
+
+ if (result == null || result.errorMessageBase != null || result.errorResponData != null)
+ {
+ IsDoorLockNormallyMode = null;
+ }
+
+ if (result.command == "10")
+ {
+ IsDoorLockNormallyMode = true;
+ }
+ if (result.command == "11")
+ {
+ IsDoorLockNormallyMode = false;
+ }
+
+ return IsDoorLockNormallyMode;
+ }
+
+ /// <summary>
+ /// 闂ㄩ攣鏄惁鏀寔甯稿紑[杩欓噷鏆傛椂鍙湁S-One闂ㄩ攣鏀寔锛孒06C涓嶆敮鎸�, 鍚庢湡閫氳繃鑳藉姏鍊兼敮鎸乚
+ /// </summary>
+ /// <param name="doorLock:褰撳墠闂ㄩ攣"></param>
+ /// <returns></returns>
+ public static bool CanNormallyOpen(ZigBee.Device.DoorLock doorLock)
+ {
+ var listDevice = new List<CommonDevice> { };
+ listDevice.Add(doorLock);
+ var devTemp = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice);
+ if (devTemp.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone)
+ {
+ return true;
+ }
+ return false;
+ }
+
+ /// <summary>
+ /// 闂ㄩ攣鏄惁鏀寔闊抽噺[杩欓噷鏆傛椂鍙湁S-One闂ㄩ攣鏀寔锛孒06C涓嶆敮鎸侊紝鍚庢湡閫氳繃鑳藉姏鍊兼敮鎸乚
+ /// </summary>
+ /// <param name="doorLock:褰撳墠闂ㄩ攣"></param>
+ /// <returns></returns>
+ public static bool CanVolume(ZigBee.Device.DoorLock doorLock)
+ {
+ var listDevice = new List<CommonDevice> { };
+ listDevice.Add(doorLock);
+ var devTemp = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice);
+ if (devTemp.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone)
+ {
+ return true;
+ }
+ return false;
+ }
+
+ #region 浠庝簯绔幏鍙栫殑鏂规硶
/// <summary>
/// 鑾峰彇褰撳墠璐︽埛闂ㄩ攣鎿嶄綔鏉冮檺锛堟槸鍚﹁鍐荤粨锛�
/// </summary>
@@ -520,24 +592,32 @@
}
var getDoorLockInfoList = await ZigBee.Device.DoorLock.GetDoorLockInfoFromServer("DoorLock/GetDoorLockPager", localDoorLockObj);
- if (getDoorLockInfoList != null)
+
+ if (getDoorLockInfoList == null)
{
- if (getDoorLockInfoList.PageData.Count != 0)
- {
- getDoorLockInfoAllList.Add(getDoorLockInfoList);
- }
+ getDoorLockInfoAllList = null;
}
- if (getDoorLockInfoList.TotalPages > 1)
+ else
{
- for (int j = 1; j < getDoorLockInfoList.TotalPages; j++)
+ if (getDoorLockInfoList != null)
{
- var pageSetting = new ZigBee.Device.DoorLock.PageSetting() { };
- pageSetting.Page = j + 1;
- localDoorLockObj.pageSetting = pageSetting;
- var getDoorLockInfoListTemp = await ZigBee.Device.DoorLock.GetDoorLockInfoFromServer("DoorLock/GetDoorLockPager", localDoorLockObj);
- if (getDoorLockInfoListTemp != null)
+ if (getDoorLockInfoList.PageData.Count != 0)
{
- getDoorLockInfoAllList.Add(getDoorLockInfoListTemp);
+ getDoorLockInfoAllList.Add(getDoorLockInfoList);
+ }
+ }
+ if (getDoorLockInfoList.TotalPages > 1)
+ {
+ for (int j = 1; j < getDoorLockInfoList.TotalPages; j++)
+ {
+ var pageSetting = new ZigBee.Device.DoorLock.PageSetting() { };
+ pageSetting.Page = j + 1;
+ localDoorLockObj.pageSetting = pageSetting;
+ var getDoorLockInfoListTemp = await ZigBee.Device.DoorLock.GetDoorLockInfoFromServer("DoorLock/GetDoorLockPager", localDoorLockObj);
+ if (getDoorLockInfoListTemp != null)
+ {
+ getDoorLockInfoAllList.Add(getDoorLockInfoListTemp);
+ }
}
}
}
@@ -727,5 +807,36 @@
/// </summary>
public string PrimaryId = "";
}
+
+ #endregion
+
+ #region 涓�鑸柟娉�
+ /// <summary>
+ /// 鏄剧ず閿欒淇℃伅绐楀彛
+ /// </summary>
+ /// <param name="msg"></param>
+ private void ShowErrorMsg(string msg)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ var contr = new ShowMsgControl(ShowMsgType.Error, msg);
+ contr.Show();
+ });
+ }
+
+ /// <summary>
+ /// 鏄剧ずTip淇℃伅绐楀彛
+ /// </summary>
+ /// <param name="msg"></param>
+ private void ShowTipMsg(string msg)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ var contr = new ShowMsgControl(ShowMsgType.Tip, msg);
+ contr.Show();
+ });
+ }
+
+ #endregion
}
}
--
Gitblit v1.8.0