From 7b60238359b94125d591678eff105ae2bf47843f Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期五, 15 十一月 2019 13:16:21 +0800
Subject: [PATCH] 2019.11.15
---
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs | 363 ++++++++++++++++++++++++++++++++-------------------
1 files changed, 225 insertions(+), 138 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs
index b5accd6..7580a18 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs
@@ -2,11 +2,39 @@
using System.Collections.Generic;
using System.ComponentModel;
using Shared.Common;
+using ZigBee.Device;
namespace Shared.Phone.UserCenter.DoorLock
{
- public class UnLockMethod : DoorLockCommonLayout
+ public class UnLockMethod : DoorLockCommonLayout, ZigBee.Common.IStatus
{
+ /// <summary>
+ /// 澶勭悊鍙樺寲浜嬩欢
+ /// </summary>
+ /// <param name="common"></param>
+ /// <param name="typeTag"></param>
+ public void DeviceInfoChange(CommonDevice tempDevice, string typeTag)
+ {
+ if (typeTag == "DoorLockProgrammingEventNotificationCommand" && tempDevice != null)
+ {
+ if (tempDevice != null)
+ {
+ if (tempDevice.DeviceEpoint == doorLock.DeviceEpoint
+ && tempDevice.DeviceAddr == doorLock.DeviceAddr)
+ {
+ var doorLock = tempDevice as ZigBee.Device.DoorLock;
+ if (doorLock.doorLockProgrammingEventNotificationCommand != null)
+ {
+
+ Application.RunOnMainThread(() =>
+ {
+
+ });
+ }
+ }
+ }
+ }
+ }
/// 鏋勯�犲嚱鏁�
/// </summary>
/// <param name="doorLock"></param>
@@ -28,9 +56,6 @@
bool isSecondDel;
#endregion
- /// <summary>
- /// 鑾峰彇鏈�鏂颁俊鎭�
- /// </summary>
void ReadDoorLockUserInfo()
{
System.Threading.Tasks.Task.Run(async () =>
@@ -38,53 +63,7 @@
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);
- }
- }
+ await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetLocaDoorLocklist(doorLock, curAccountObj);
}
catch { }
finally
@@ -103,12 +82,11 @@
/// </summary>
public void Show()
{
- ReadDoorLockUserInfo();
this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.LockMethod));
this.btnTitleLine.Visible = false;
EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
{
- RemoveFromParent();
+ this.RemoveFromParent();
};
this.btnBack.MouseUpEventHandler += eHandlerBack;
this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack;
@@ -116,7 +94,7 @@
var btnAddFrameLayout = new FrameLayout
{
- X = Application.GetRealWidth(953),
+ X = Application.GetRealWidth(953 - 116),
Height = Application.GetRealHeight(72),
Width = Application.GetRealWidth(72),
};
@@ -129,14 +107,32 @@
UnSelectedImagePath = "DoorLock/AddIcon.png",
};
btnAddFrameLayout.AddChidren(btnAdd);
+ if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+ {
+ btnAdd.Width = 0;
+ }
btnAdd.MouseDownEventHandler += (sender, e) =>
+ {
+ if (doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] == true)
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+ }
+ else
{
var addUnLockMethod = new Shared.Phone.UserCenter.DoorLock.AddUnLockMethod(doorLock, curAccountObj);
Shared.Phone.UserView.HomePage.Instance.AddChidren(addUnLockMethod);
Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
addUnLockMethod.Show();
- };
-
+ }
+ };
+ if (UserCenterResourse.UserInfo.AuthorityNo == 3)
+ {
+ btnAddFrameLayout.Width = 0;
+ }
+ else
+ {
+ btnAddFrameLayout.Width = Application.GetRealWidth(72);
+ }
MidFrameLayoutContent();
}
//涓儴甯冨眬
@@ -218,7 +214,8 @@
bodyView = new VerticalScrolViewLayout()
{
- Y = btnLine.Bottom,
+ Y = midTopFrameLayout.Bottom,
+ Height = Application.GetRealHeight(1921 - 184 - 115 - 1),
};
this.midFrameLayout.AddChidren(bodyView);
@@ -226,8 +223,14 @@
{
SideslipFramelayout();
};
-
- RefreshList();
+ if (doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] == true)
+ {
+ ReadDoorLockUserInfo();
+ }
+ else
+ {
+ RefreshList();
+ }
}
/// <summary>
@@ -237,6 +240,11 @@
/// <param name="key"></param>
public void RefreshList()
{
+ if (doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] == true)
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip);
+ return;
+ }
bodyView.RemoveAll();
var curAccountDoorLockUserList = new Dictionary<int, ZigBee.Device.DoorLock.LocaDoorLockObj>();
@@ -328,7 +336,7 @@
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,
@@ -340,7 +348,7 @@
switch (curDoorLockUser.UnlockType)
{
case 0:
- if (curDoorLockUser.UserName != "")
+ if (curDoorLockUser.UserName != "" && curDoorLockUser.UserName != null)
{
btnDoorlockUser.Text = curDoorLockUser.UserName;
}
@@ -350,7 +358,7 @@
}
break;
case 3:
- if (curDoorLockUser.UserName != "")
+ if (curDoorLockUser.UserName != "" && curDoorLockUser.UserName != null)
{
btnDoorlockUser.Text = curDoorLockUser.UserName;
}
@@ -360,7 +368,7 @@
}
break;
case 15:
- if (curDoorLockUser.UserName != "")
+ if (curDoorLockUser.UserName != "" && curDoorLockUser.UserName != null)
{
btnDoorlockUser.Text = curDoorLockUser.UserName;
}
@@ -371,7 +379,7 @@
break;
}
- if (curAccountObj.UserName == "")
+ if (curAccountObj.UserName == "" || curAccountObj.UserName == null)
{
btnMember.Text = curAccountObj.Account;
}
@@ -383,7 +391,11 @@
Action<Shared.View> action = async (obj) =>
{
var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
- refreshDoorLockData.CloudAccountId = curAccountObj.SubAccountDistributedMark;
+ if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+ {
+ refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+ refreshDoorLockData.IsOtherAccountCtrl = true;
+ }
if (doorLock.DeviceAddr != null)
{
refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
@@ -392,25 +404,32 @@
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)
{
- if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
+ if (result.StateCode == "Success")
{
- doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID);
- var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
- localDoorLockObj.UserID = curDoorLockUser.UserID;
- localDoorLockObj.UnlockType = curDoorLockUser.UnlockType;
- localDoorLockObj.EntryTime = curDoorLockUser.EntryTime;
- localDoorLockObj.UserName = refreshDoorLockData.UserIdRemarks;
- localDoorLockObj.ConnectedAccount = curAccountObj.SubAccountDistributedMark;
- doorLock.localDoorLockUserList.Add(curDoorLockUser.UserID, localDoorLockObj);
- RefreshList();
+ if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
+ {
+ doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID);
+ var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
+ localDoorLockObj.UserID = curDoorLockUser.UserID;
+ localDoorLockObj.UnlockType = curDoorLockUser.UnlockType;
+ localDoorLockObj.EntryTime = curDoorLockUser.EntryTime;
+ localDoorLockObj.UserName = refreshDoorLockData.UserIdRemarks;
+ localDoorLockObj.ConnectedAccount = curAccountObj.SubAccountDistributedMark;
+ doorLock.localDoorLockUserList.Add(curDoorLockUser.UserID, localDoorLockObj);
+ RefreshList();
+ }
+ }
+ else
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ModigfyFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
}
}
else
{
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ModigfyFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
}
};
btnDoorlockUser.EditorEnterAction += action;
@@ -428,9 +447,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,23 +462,32 @@
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)
{
- isSecondDel = false;
- if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
+ if (result.StateCode == "Success")
{
- doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID);
- var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
- localDoorLockObj.UserID = curDoorLockUser.UserID;
- doorLock.localDoorLockUserList.Remove(curUserId);
- RefreshList();
+ isSecondDel = false;
+ if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
+ {
+ doorLock.localDoorLockAccountList.Remove(curDoorLockUser.ConnectedAccount);
+ var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
+ localDoorLockObj.UserID = curDoorLockUser.UserID;
+ doorLock.localDoorLockUserList.Remove(curUserId);
+ doorLock.ReSave();
+ RefreshList();
+ }
+ }
+ else
+ {
+ //寮�鍏冲浘鏍�
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
}
}
else
{
isSecondDel = true;
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
}
}
else
@@ -462,6 +495,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,23 +507,30 @@
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)
{
- isSecondDel = false;
- if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
+ if (result.StateCode == "Success")
{
- doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID);
- var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
- localDoorLockObj.UserID = curDoorLockUser.UserID;
- doorLock.localDoorLockUserList.Remove(curUserId);
- RefreshList();
+ isSecondDel = false;
+ if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
+ {
+ doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID);
+ var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
+ localDoorLockObj.UserID = curDoorLockUser.UserID;
+ doorLock.localDoorLockUserList.Remove(curUserId);
+ RefreshList();
+ }
+ }
+ else
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
}
}
else
{
isSecondDel = true;
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
}
}
else
@@ -503,7 +548,7 @@
}
else
{
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
}
}
};
@@ -771,7 +816,7 @@
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,
@@ -783,7 +828,7 @@
switch (curDoorLockUser.UnlockType)
{
case 0:
- if (curDoorLockUser.UserName != "")
+ if (curDoorLockUser.UserName != "" && curDoorLockUser.UserName != null)
{
btnDoorlockUser.Text = curDoorLockUser.UserName;
}
@@ -793,7 +838,7 @@
}
break;
case 3:
- if (curDoorLockUser.UserName != "")
+ if (curDoorLockUser.UserName != "" && curDoorLockUser.UserName != null)
{
btnDoorlockUser.Text = curDoorLockUser.UserName;
}
@@ -803,7 +848,7 @@
}
break;
case 15:
- if (curDoorLockUser.UserName != "")
+ if (curDoorLockUser.UserName != "" && curDoorLockUser.UserName != null)
{
btnDoorlockUser.Text = curDoorLockUser.UserName;
}
@@ -814,7 +859,7 @@
break;
}
- if (curAccountObj.UserName == "")
+ if (curAccountObj.UserName == "" || curAccountObj.UserName == null)
{
btnMember.Text = curAccountObj.Account;
}
@@ -826,7 +871,11 @@
Action<Shared.View> action = async (obj) =>
{
var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData();
- refreshDoorLockData.CloudAccountId = curAccountObj.SubAccountDistributedMark;
+ if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+ {
+ refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+ refreshDoorLockData.IsOtherAccountCtrl = true;
+ }
if (doorLock.DeviceAddr != null)
{
refreshDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
@@ -835,25 +884,32 @@
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)
{
- if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
+ if (result.StateCode == "Success")
{
- doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID);
- var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
- localDoorLockObj.UserID = curDoorLockUser.UserID;
- localDoorLockObj.UnlockType = curDoorLockUser.UnlockType;
- localDoorLockObj.EntryTime = curDoorLockUser.EntryTime;
- localDoorLockObj.UserName = refreshDoorLockData.UserIdRemarks;
- localDoorLockObj.ConnectedAccount = curAccountObj.SubAccountDistributedMark;
- doorLock.localDoorLockUserList.Add(curDoorLockUser.UserID, localDoorLockObj);
- RefreshList();
+ if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
+ {
+ doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID);
+ var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
+ localDoorLockObj.UserID = curDoorLockUser.UserID;
+ localDoorLockObj.UnlockType = curDoorLockUser.UnlockType;
+ localDoorLockObj.EntryTime = curDoorLockUser.EntryTime;
+ localDoorLockObj.UserName = refreshDoorLockData.UserIdRemarks;
+ localDoorLockObj.ConnectedAccount = curAccountObj.SubAccountDistributedMark;
+ doorLock.localDoorLockUserList.Add(curDoorLockUser.UserID, localDoorLockObj);
+ RefreshList();
+ }
+ }
+ else
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ModigfyFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
}
}
else
{
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ModigfyFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
}
};
btnDoorlockUser.EditorEnterAction += action;
@@ -874,6 +930,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,30 +942,35 @@
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)
{
- if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
+ if (result.StateCode == "Success")
{
- doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID);
- var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
- localDoorLockObj.UserID = curDoorLockUser.UserID;
-
- //new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveSuccess), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
- doorLock.localDoorLockUserList.Remove(curUserId);
- RefreshList();
+ if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID))
+ {
+ doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID);
+ var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
+ localDoorLockObj.UserID = curDoorLockUser.UserID;
+ doorLock.localDoorLockUserList.Remove(curUserId);
+ RefreshList();
+ }
+ }
+ else
+ {
+ if (curDoorLockUser.UserID < 10)
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.OnlyBeDeletedOnTheDevice), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
+ }
+ else
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
+ }
}
}
else
{
- if (curDoorLockUser.UserID < 10)
- {
-
- }
- else
- {
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ModigfyFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
- }
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDoorlockUser);
}
}
else
@@ -915,7 +981,7 @@
}
else
{
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
}
}
};
@@ -924,5 +990,26 @@
}
}
+ /// <summary>
+ /// 閲嶅啓绉婚櫎鏂规硶
+ /// </summary>
+ public override void RemoveFromParent()
+ {
+ ZbGateway.StatusList.Remove(this);
+ base.RemoveFromParent();
+ }
+
+
+
+ public void Changed(CommonDevice common)
+ {
+ }
+ public void ChangedILogicStatus(ZigBee.Device.Logic logic)
+ {
+ }
+
+ public void ChangedISceneStatus(Scene scene)
+ {
+ }
}
}
--
Gitblit v1.8.0