| | |
| | | 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显示
|
| | | /// </summary> |
| | | public void Show() |
| | | { |
| | | ReadDoorLockUserInfo(); |
| | | //ReadDoorLockUserInfo(); |
| | | this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.LockMethod)); |
| | | this.btnTitleLine.Visible = false; |
| | | EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => |
| | |
| | | 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, |
| | |
| | | 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)) |
| | | { |
| | |
| | | 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 (doorLock.DeviceAddr != null) |
| | |
| | | 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)) |
| | |
| | | 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)) |
| | |
| | | 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, |
| | |
| | | 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)) |
| | | { |
| | |
| | | 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)) |
| | | { |