From 52005ed57f3f7bc796fdd1a878e4f298a126f1e8 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期二, 29 十月 2019 16:48:47 +0800
Subject: [PATCH] 2019.10.29-3
---
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs | 122 +++++++++++++++++++++++++++-------------
1 files changed, 83 insertions(+), 39 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs
index 53eec42..b5accd6 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs
@@ -28,13 +28,82 @@
bool isSecondDel;
#endregion
+ /// <summary>
+ /// 鑾峰彇鏈�鏂颁俊鎭�
+ /// </summary>
+ void ReadDoorLockUserInfo()
+ {
+ System.Threading.Tasks.Task.Run(async () =>
+ {
+ Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); });
+ try
+ {
+ // 璇诲彇璁惧涓殑淇℃伅
+ var getDoorLockInfo = await doorLock.GetDoorlockUserInfoAsync();
+ if (getDoorLockInfo != null && getDoorLockInfo.doorLockUserDetailData != null)
+ {
+ var dataList = getDoorLockInfo.doorLockUserDetailData.UserObjList;
+ foreach (var doorData in dataList)
+ {
+ var localDoorLockObj1 = new ZigBee.Device.DoorLock.LocaDoorLockObj()
+ {
+ UserID = doorData.UserId,
+ UnlockType = doorData.UserType
+ };
+ if ((doorLock.localDoorLockUserList.ContainsKey(localDoorLockObj1.UserID)) == false)
+ {
+ doorLock.localDoorLockUserList.Add(localDoorLockObj1.UserID, localDoorLockObj1);
+ }
+ }
+ }
+
+ // 璇诲彇浜戠闂ㄩ攣璁惧涓殑淇℃伅
+ var localDoorLockObj = new ZigBee.Device.DoorLock.GetDoorLockData() { };
+ localDoorLockObj.CloudAccountId = curAccountObj.SubAccountDistributedMark;
+ if (doorLock.DeviceAddr != null)
+ {
+ localDoorLockObj.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+ }
+
+ var getDoorLockInfoList = await ZigBee.Device.DoorLock.GetDoorLockInfoFromServer("App/GetDoorLockPager", localDoorLockObj);
+
+ if (getDoorLockInfoList != null)
+ {
+ foreach (var curDoorLockUser in getDoorLockInfoList.PageData)
+ {
+ if (doorLock.localDoorLockUserList.ContainsKey(int.Parse(curDoorLockUser.DoorLockLocalUserId)))
+ {
+ doorLock.localDoorLockUserList.Remove(int.Parse(curDoorLockUser.DoorLockLocalUserId));
+ }
+ var doorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
+ doorLockObj.UserID = int.Parse(curDoorLockUser.DoorLockLocalUserId);
+ doorLockObj.UnlockType = curDoorLockUser.OpenLockMode;
+ doorLockObj.PrimaryId = curDoorLockUser.Id;
+ doorLockObj.EntryTime = curDoorLockUser.EntryTime;
+ doorLockObj.UserName = curDoorLockUser.UserIdRemarks;
+ doorLockObj.ConnectedAccount = curDoorLockUser.CloudAccountId;
+ doorLock.localDoorLockUserList.Add(int.Parse(curDoorLockUser.DoorLockLocalUserId), doorLockObj);
+ }
+ }
+ }
+ catch { }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ RefreshList();
+ CommonPage.Loading.Hide();
+ });
+ }
+ });
+ }
/// <summary>
/// UI鏄剧ず
/// </summary>
public void Show()
{
- //ReadDoorLockUserInfo();
+ ReadDoorLockUserInfo();
this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.LockMethod));
this.btnTitleLine.Visible = false;
EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
@@ -259,7 +328,7 @@
Height = Application.GetRealHeight(49),
X = Application.GetRealWidth(173),
Y = Application.GetRealHeight(95),
- Text = Language.StringByID(R.MyInternationalizationString.DelBindDevice),
+ Text = Language.StringByID(R.MyInternationalizationString.Delete),
TextColor = Shared.Common.ZigbeeColor.Current.XMWhite,
TextSize = 12,
TextAlignment = TextAlignment.Center,
@@ -314,11 +383,6 @@
Action<Shared.View> action = async (obj) =>
{
var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
- if (UserCenterResourse.UserInfo.AuthorityNo != 1)
- {
- refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
- refreshDoorLockData.IsOtherAccountCtrl = true;
- }
refreshDoorLockData.CloudAccountId = curAccountObj.SubAccountDistributedMark;
if (doorLock.DeviceAddr != null)
{
@@ -328,8 +392,8 @@
refreshDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString();
refreshDoorLockData.PrimaryId = curDoorLockUser.PrimaryId;
refreshDoorLockData.UserIdRemarks = btnDoorlockUser.Text;
- var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData);
- if (result != null && result.StateCode == "Success")
+ var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("App/UpdateDoorLock", refreshDoorLockData);
+ if (result.StateCode == "Success")
{
if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
{
@@ -364,14 +428,9 @@
var resultData = await doorLock.DefaultControlAsync(passData);
if (resultData != null && resultData.defaultControlResponseData != null)
{
- if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2)
+ if (resultData.defaultControlResponseData.status == 0)
{
var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData();
- if (UserCenterResourse.UserInfo.AuthorityNo != 1)
- {
- deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
- deleteDoorLockData.IsOtherAccountCtrl = true;
- }
if (doorLock.DeviceAddr != null)
{
deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
@@ -379,8 +438,8 @@
deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString();
deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId;
deleteDoorLockData.DelDoorLockDelType = 2;
- var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData);
- if (result != null && result.StateCode == "Success")
+ var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("App/DelDoorLock", deleteDoorLockData);
+ if (result.StateCode == "Success")
{
isSecondDel = false;
if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
@@ -403,11 +462,6 @@
if (isSecondDel)
{
var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData();
- if (UserCenterResourse.UserInfo.AuthorityNo != 1)
- {
- deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
- deleteDoorLockData.IsOtherAccountCtrl = true;
- }
if (doorLock.DeviceAddr != null)
{
deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
@@ -415,8 +469,8 @@
deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString();
deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId;
deleteDoorLockData.DelDoorLockDelType = 2;
- var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData);
- if (result != null && result.StateCode == "Success")
+ var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("App/DelDoorLock", deleteDoorLockData);
+ if (result.StateCode == "Success")
{
isSecondDel = false;
if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
@@ -717,7 +771,7 @@
Height = Application.GetRealHeight(49),
X = Application.GetRealWidth(173),
Y = Application.GetRealHeight(95),
- Text = Language.StringByID(R.MyInternationalizationString.DelBindDevice),
+ Text = Language.StringByID(R.MyInternationalizationString.Delete),
TextColor = Shared.Common.ZigbeeColor.Current.XMWhite,
TextSize = 12,
TextAlignment = TextAlignment.Center,
@@ -772,11 +826,6 @@
Action<Shared.View> action = async (obj) =>
{
var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
- if (UserCenterResourse.UserInfo.AuthorityNo != 1)
- {
- refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
- refreshDoorLockData.IsOtherAccountCtrl = true;
- }
refreshDoorLockData.CloudAccountId = curAccountObj.SubAccountDistributedMark;
if (doorLock.DeviceAddr != null)
{
@@ -786,8 +835,8 @@
refreshDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString();
refreshDoorLockData.PrimaryId = curDoorLockUser.PrimaryId;
refreshDoorLockData.UserIdRemarks = btnDoorlockUser.Text;
- var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData);
- if (result != null && result.StateCode == "Success")
+ var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("App/UpdateDoorLock", refreshDoorLockData);
+ if (result.StateCode == "Success")
{
if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
{
@@ -825,11 +874,6 @@
if (resultData.defaultControlResponseData.status == 0)
{
var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData();
- if (UserCenterResourse.UserInfo.AuthorityNo != 1)
- {
- deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
- deleteDoorLockData.IsOtherAccountCtrl = true;
- }
if (doorLock.DeviceAddr != null)
{
deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
@@ -837,8 +881,8 @@
deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString();
deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId;
deleteDoorLockData.DelDoorLockDelType = 2;
- var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData);
- if (result != null && result.StateCode == "Success")
+ var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("App/DelDoorLock", deleteDoorLockData);
+ if (result.StateCode == "Success")
{
if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
{
--
Gitblit v1.8.0