From 18dcc85b17b351cf7948e22908d5128231aea2e0 Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期二, 29 十月 2019 14:32:12 +0800
Subject: [PATCH] 2019-10-29-2
---
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs | 132 ++++++++++++++-----------------------------
1 files changed, 44 insertions(+), 88 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs
index e1fb9f2..320c9af 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs
@@ -28,82 +28,13 @@
bool isSecondDel;
#endregion
- /// <summary>
- /// 鑾峰彇鏈�鏂颁俊鎭�
- /// </summary>
- void ReadDoorLockUserInfo()
- {
- System.Threading.Tasks.Task.Run(async () =>
- {
- Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
- 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鏄剧ず
+ /// UI鏄剧ず
/// </summary>
public void Show()
{
- ReadDoorLockUserInfo();
+ //ReadDoorLockUserInfo();
this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.LockMethod));
this.btnTitleLine.Visible = false;
EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
@@ -328,14 +259,14 @@
Height = Application.GetRealHeight(49),
X = Application.GetRealWidth(173),
Y = Application.GetRealHeight(95),
- Text = Language.StringByID(R.MyInternationalizationString.Delete),
+ Text = Language.StringByID(R.MyInternationalizationString.DelBindDevice),
TextColor = Shared.Common.ZigbeeColor.Current.XMWhite,
TextSize = 12,
TextAlignment = TextAlignment.Center,
BackgroundColor = Shared.Common.ZigbeeColor.Current.XMDel,
};
rowFrameLayout.AddRightView(btnDel);
- #endregion
+ #endregion
#region 鏁版嵁澶勭悊
switch (curDoorLockUser.UnlockType)
{
@@ -383,6 +314,11 @@
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)
{
@@ -392,8 +328,8 @@
refreshDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString();
refreshDoorLockData.PrimaryId = curDoorLockUser.PrimaryId;
refreshDoorLockData.UserIdRemarks = btnDoorlockUser.Text;
- var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("App/UpdateDoorLock", refreshDoorLockData);
- if (result.StateCode == "Success")
+ var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData);
+ if (result != null && result.StateCode == "Success")
{
if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
{
@@ -428,9 +364,14 @@
var resultData = await doorLock.DefaultControlAsync(passData);
if (resultData != null && resultData.defaultControlResponseData != null)
{
- if (resultData.defaultControlResponseData.status == 0)
+ if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2)
{
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;
@@ -438,8 +379,8 @@
deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString();
deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId;
deleteDoorLockData.DelDoorLockDelType = 2;
- var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("App/DelDoorLock", deleteDoorLockData);
- if (result.StateCode == "Success")
+ var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData);
+ if (result != null && result.StateCode == "Success")
{
isSecondDel = false;
if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
@@ -462,6 +403,11 @@
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;
@@ -469,8 +415,8 @@
deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString();
deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId;
deleteDoorLockData.DelDoorLockDelType = 2;
- var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("App/DelDoorLock", deleteDoorLockData);
- if (result.StateCode == "Success")
+ var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData);
+ if (result != null && result.StateCode == "Success")
{
isSecondDel = false;
if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
@@ -508,7 +454,7 @@
}
};
};
- #endregion
+ #endregion
}
}
@@ -592,7 +538,7 @@
btnAllMethod.IsSelected = true;
oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
- // 绫诲瀷鍖哄垎
+ // 绫诲瀷鍖哄垎
if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.AllMethod))
{
RefreshList();
@@ -771,14 +717,14 @@
Height = Application.GetRealHeight(49),
X = Application.GetRealWidth(173),
Y = Application.GetRealHeight(95),
- Text = Language.StringByID(R.MyInternationalizationString.Delete),
+ Text = Language.StringByID(R.MyInternationalizationString.DelBindDevice),
TextColor = Shared.Common.ZigbeeColor.Current.XMWhite,
TextSize = 12,
TextAlignment = TextAlignment.Center,
BackgroundColor = Shared.Common.ZigbeeColor.Current.XMDel,
};
rowFrameLayout.AddRightView(btnDel);
- #endregion
+ #endregion
#region 鏁版嵁澶勭悊
switch (curDoorLockUser.UnlockType)
{
@@ -826,6 +772,11 @@
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)
{
@@ -835,8 +786,8 @@
refreshDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString();
refreshDoorLockData.PrimaryId = curDoorLockUser.PrimaryId;
refreshDoorLockData.UserIdRemarks = btnDoorlockUser.Text;
- var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("App/UpdateDoorLock", refreshDoorLockData);
- if (result.StateCode == "Success")
+ var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData);
+ if (result != null && result.StateCode == "Success")
{
if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
{
@@ -874,6 +825,11 @@
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;
@@ -881,8 +837,8 @@
deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString();
deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId;
deleteDoorLockData.DelDoorLockDelType = 2;
- var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("App/DelDoorLock", deleteDoorLockData);
- if (result.StateCode == "Success")
+ var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData);
+ if (result != null && result.StateCode == "Success")
{
if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
{
--
Gitblit v1.8.0