From 8b9ce384b26c414db32f98e94e088f5334869c2d Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期三, 13 十一月 2019 15:36:28 +0800 Subject: [PATCH] 全部合并了代码,安卓和 IOS 都测试通过了 --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs | 365 ++++++++++++++++++++++++++++++++------------------- 1 files changed, 226 insertions(+), 139 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs index e1fb9f2..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,63 +56,14 @@ bool isSecondDel; #endregion - /// <summary> - /// 鑾峰彇鏈�鏂颁俊鎭� - /// </summary> void ReadDoorLockUserInfo() { System.Threading.Tasks.Task.Run(async () => { - Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); + 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