| | |
| | | var listDevice = new List<CommonDevice> { }; |
| | | listDevice.Add(doorLock); |
| | | var devTemp = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice); |
| | | if (devTemp.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone) |
| | | if (devTemp.ConcreteType != DeviceConcreteType.IntelligentLocks_H06C) |
| | | { |
| | | return true; |
| | | } |
| | |
| | | var listDevice = new List<CommonDevice> { }; |
| | | listDevice.Add(doorLock); |
| | | var devTemp = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice); |
| | | if (devTemp.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone) |
| | | if (devTemp.ConcreteType != DeviceConcreteType.IntelligentLocks_H06C) |
| | | { |
| | | return true; |
| | | } |
| | |
| | | /// <summary> |
| | | /// 获取云端存储的门锁成员信息 |
| | | /// </summary> |
| | | public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetLocaDoorLockAccountlist(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes curAccountObj, int curPage) |
| | | { |
| | | return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>>>)(async () => |
| | | { |
| | | // 读取云端门锁设备中的信息 |
| | | var localDoorLockObj = new ZigBee.Device.DoorLock.GetDoorLockData() { }; |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | | { |
| | | localDoorLockObj.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); |
| | | localDoorLockObj.IsOtherAccountCtrl = true; |
| | | } |
| | | localDoorLockObj.CloudAccountId = curAccountObj.SubAccountDistributedMark; |
| | | { |
| | | localDoorLockObj.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; |
| | | } |
| | | if (doorLock.DeviceAddr != null) |
| | | { |
| | | localDoorLockObj.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; |
| | | } |
| | | var pageSetting = new ZigBee.Device.DoorLock.PageSetting() { }; |
| | | pageSetting.Page = curPage; |
| | | localDoorLockObj.pageSetting = pageSetting; |
| | | var getDoorLockInfoList = await ZigBee.Device.DoorLock.GetDoorLockInfoFromServer("DoorLock/GetDoorLockPager", localDoorLockObj); |
| | | if (getDoorLockInfoList != null) |
| | | { |
| | | foreach (var curDoorLockUser in getDoorLockInfoList.PageData) |
| | | { |
| | | var doorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; |
| | | if (curDoorLockUser.DoorLockLocalUserId != null) |
| | | { |
| | | doorLockObj.UserID = int.Parse(curDoorLockUser.DoorLockLocalUserId); |
| | | doorLockObj.UnlockType = curDoorLockUser.OpenLockMode; |
| | | doorLockObj.UserName = curDoorLockUser.UserIdRemarks; |
| | | } |
| | | doorLockObj.PrimaryId = curDoorLockUser.Id; |
| | | doorLockObj.EntryTime = curDoorLockUser.EntryTime; |
| | | doorLockObj.ConnectedAccount = curDoorLockUser.CloudAccountId; |
| | | if (doorLock.localDoorLockAccountList.ContainsKey(curDoorLockUser.CloudAccountId) == false) |
| | | { |
| | | doorLock.localDoorLockAccountList.Add(doorLockObj.ConnectedAccount, doorLockObj); |
| | | } |
| | | else |
| | | { |
| | | doorLock.localDoorLockAccountList[curDoorLockUser.DoorLockLocalUserId] = doorLockObj; |
| | | } |
| | | } |
| | | } |
| | | return doorLock.localDoorLockUserList; |
| | | })); |
| | | } |
| | | //public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetLocaDoorLockAccountlist(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes curAccountObj, int curPage) |
| | | //{ |
| | | // return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>>>)(async () => |
| | | // { |
| | | // // 读取云端门锁设备中的信息 |
| | | // var localDoorLockObj = new ZigBee.Device.DoorLock.GetDoorLockData() { }; |
| | | // if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | | // { |
| | | // localDoorLockObj.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); |
| | | // localDoorLockObj.IsOtherAccountCtrl = true; |
| | | // } |
| | | // localDoorLockObj.CloudAccountId = curAccountObj.SubAccountDistributedMark; |
| | | // { |
| | | // localDoorLockObj.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; |
| | | // } |
| | | // if (doorLock.DeviceAddr != null) |
| | | // { |
| | | // localDoorLockObj.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; |
| | | // } |
| | | // var pageSetting = new ZigBee.Device.DoorLock.PageSetting() { }; |
| | | // pageSetting.Page = curPage; |
| | | // localDoorLockObj.pageSetting = pageSetting; |
| | | // var getDoorLockInfoList = await ZigBee.Device.DoorLock.GetDoorLockInfoFromServer("DoorLock/GetDoorLockPager", localDoorLockObj); |
| | | // if (getDoorLockInfoList != null) |
| | | // { |
| | | // foreach (var curDoorLockUser in getDoorLockInfoList.PageData) |
| | | // { |
| | | // var doorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; |
| | | // if (curDoorLockUser.DoorLockLocalUserId != null) |
| | | // { |
| | | // doorLockObj.UserID = int.Parse(curDoorLockUser.DoorLockLocalUserId); |
| | | // doorLockObj.UnlockType = curDoorLockUser.OpenLockMode; |
| | | // doorLockObj.UserName = curDoorLockUser.UserIdRemarks; |
| | | // } |
| | | // doorLockObj.PrimaryId = curDoorLockUser.Id; |
| | | // doorLockObj.EntryTime = curDoorLockUser.EntryTime; |
| | | // doorLockObj.ConnectedAccount = curDoorLockUser.CloudAccountId; |
| | | // if (doorLock.localDoorLockAccountList.ContainsKey(curDoorLockUser.CloudAccountId) == false) |
| | | // { |
| | | // doorLock.localDoorLockAccountList.Add(doorLockObj.ConnectedAccount, doorLockObj); |
| | | // } |
| | | // else |
| | | // { |
| | | // doorLock.localDoorLockAccountList[curDoorLockUser.DoorLockLocalUserId] = doorLockObj; |
| | | // } |
| | | // } |
| | | // } |
| | | // return doorLock.localDoorLockUserList; |
| | | // })); |
| | | //} |
| | | |
| | | /// <summary> |
| | | /// 获取本地匹配成员的门锁用户信息列表 |
| | | /// </summary> |
| | | public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetMatchDoorlockAccountList(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes curAccountObj) |
| | | { |
| | | return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>>>)(async () => |
| | | { |
| | | var curAccountDoorLockUserList = new Dictionary<int, ZigBee.Device.DoorLock.LocaDoorLockObj>(); |
| | | foreach (var curUserId in doorLock.localDoorLockAccountList.Keys) |
| | | { |
| | | var curDoorLockUser = doorLock.localDoorLockAccountList[curUserId]; |
| | | //public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetMatchDoorlockAccountList(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes curAccountObj) |
| | | //{ |
| | | // return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>>>)(async () => |
| | | // { |
| | | // var curAccountDoorLockUserList = new Dictionary<int, ZigBee.Device.DoorLock.LocaDoorLockObj>(); |
| | | // foreach (var curUserId in doorLock.localDoorLockAccountList.Keys) |
| | | // { |
| | | // var curDoorLockUser = doorLock.localDoorLockAccountList[curUserId]; |
| | | |
| | | if (string.IsNullOrEmpty(curDoorLockUser.ConnectedAccount) || curDoorLockUser.ConnectedAccount != curAccountObj.SubAccountDistributedMark) |
| | | { |
| | | continue; |
| | | } |
| | | else |
| | | { |
| | | curAccountDoorLockUserList.Add(curDoorLockUser.UserID, curDoorLockUser); |
| | | } |
| | | } |
| | | return curAccountDoorLockUserList; |
| | | })); |
| | | } |
| | | // if (string.IsNullOrEmpty(curDoorLockUser.ConnectedAccount) || curDoorLockUser.ConnectedAccount != curAccountObj.SubAccountDistributedMark) |
| | | // { |
| | | // continue; |
| | | // } |
| | | // else |
| | | // { |
| | | // curAccountDoorLockUserList.Add(curDoorLockUser.UserID, curDoorLockUser); |
| | | // } |
| | | // } |
| | | // return curAccountDoorLockUserList; |
| | | // })); |
| | | //} |
| | | |
| | | /// <summary> |
| | | /// 生成6位临时密码 |
| | |
| | | return password; |
| | | } |
| | | |
| | | //// <summary> |
| | | /// 取得某月的最后一天 |
| | | /// </summary> |
| | | /// <param name="datetime">要取得月份最后一天的时间</param> |
| | | /// <returns></returns> |
| | | public static DateTime LastDayOfMonth(DateTime datetime) |
| | | { |
| | | return datetime.AddDays(1 - datetime.Day).AddMonths(1).AddDays(-1); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 将UNIX时间戳转换成系统时间(精确到秒) |
| | | /// <returns></returns> |