| | |
| | | #endregion |
| | | |
| | | #region ----获取门锁 |
| | | #region ---第1种 |
| | | public static List<LogicLock> ReadDoorLockIfon(string doorlockMac) |
| | | { |
| | | List<LogicLock> list = new List<LogicLock>(); |
| | |
| | | return list; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | #endregion |
| | | |
| | | #region ---第2种 |
| | | /// <summary> |
| | | /// 获取自己+其他成员信息 |
| | | /// </summary> |
| | | /// <param name="doorlockMac">门锁Mac</param> |
| | | /// <returns></returns> |
| | | public static async System.Threading.Tasks.Task<List<MembershipIfon>> AllMembers(string doorlockMac) |
| | | { |
| | | var userlist = new List<MembershipIfon>(); |
| | | ///判断APP登录进来用户身份(主人,管理员,成员) |
| | | var doorlockifonlist = await ReadUserListIfon(doorlockMac); |
| | | var membershipIfon = new MembershipIfon(); |
| | | membershipIfon.MembershipId = Config.Instance.Guid; |
| | | if (string.IsNullOrEmpty(Config.Instance.Nmae)) |
| | | { |
| | | membershipIfon.MembershipName = Config.Instance.Account; |
| | | } |
| | | else |
| | | { |
| | | membershipIfon.MembershipName = Config.Instance.Nmae; |
| | | } |
| | | foreach (var o in doorlockifonlist) |
| | | { |
| | | if (o.CloudAccountId == Config.Instance.Guid) |
| | | { |
| | | LockMode lockMode = new LockMode(); |
| | | lockMode.OpenMode = o.OpenLockMode; |
| | | lockMode.UserId = o.DoorLockLocalUserId; |
| | | membershipIfon.UserIdMode.Add(lockMode); |
| | | } |
| | | } |
| | | if (membershipIfon.UserIdMode.Count != 0) |
| | | { |
| | | userlist.Add(membershipIfon); |
| | | } |
| | | |
| | | public static async System.Threading.Tasks.Task<List<LogicLock>> UserListIfon(string doorlockMac) |
| | | if (UserCenter.UserCenterResourse.UserInfo.AuthorityNo != 3) |
| | | { |
| | | var pra = new UserCenter.MemberListInfoPra(); |
| | | string result = await UserCenter.UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra); |
| | | var listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UserCenter.MemberInfoRes>>(result); |
| | | for (int i = 0; i < listInfo.Count; i++) |
| | | { |
| | | |
| | | var membership = new MembershipIfon(); |
| | | var membershipifon = listInfo[i]; |
| | | membership.MembershipId = membershipifon.SubAccountDistributedMark; |
| | | if (string.IsNullOrEmpty(membershipifon.UserName)) |
| | | { |
| | | membership.MembershipName = membershipifon.Account; |
| | | } |
| | | else |
| | | { |
| | | membership.MembershipName = membershipifon.UserName; |
| | | |
| | | } |
| | | for (int j = 0; j < doorlockifonlist.Count; j++) |
| | | { |
| | | ///查找成员以及成员门锁触发源(1按键/3卡/15指纹) |
| | | if (doorlockifonlist[j].CloudAccountId == membershipifon.SubAccountDistributedMark) |
| | | { |
| | | LockMode lockMode = new LockMode(); |
| | | lockMode.OpenMode = doorlockifonlist[j].OpenLockMode; |
| | | lockMode.UserId = doorlockifonlist[j].DoorLockLocalUserId; |
| | | membership.UserIdMode.Add(lockMode); |
| | | } |
| | | |
| | | } |
| | | if (membership.UserIdMode.Count != 0) |
| | | { |
| | | ///过滤掉重复数据; |
| | | var str = userlist.Find((c) => { return c.MembershipId == membershipifon.SubAccountDistributedMark; }); |
| | | if (str == null) |
| | | { |
| | | userlist.Add(membership); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | return userlist; |
| | | } |
| | | /// <summary> |
| | | /// 读取门锁所有成员信息 |
| | | /// </summary> |
| | | /// <param name="doorlockMac">门锁Mac</param> |
| | | /// <returns></returns> |
| | | public static async System.Threading.Tasks.Task<List<LogicLock>> ReadUserListIfon(string doorlockMac) |
| | | { |
| | | List<LogicLock> list = new List<LogicLock>(); |
| | | var s = await ReadUserList(doorlockMac); |
| | |
| | | /// <returns></returns> |
| | | public static async System.Threading.Tasks.Task<string> WebClientAsync(int value, string url, Residential residential = null) |
| | | { |
| | | |
| | | |
| | | NameValueCollection postValues = new NameValueCollection(); |
| | | if (value == 0) |
| | | { |
| | |
| | | byte[] responseArray = webClient.UploadValues(url, postValues); |
| | | return System.Text.Encoding.UTF8.GetString(responseArray); |
| | | } |
| | | |
| | | |
| | | |
| | | #endregion |
| | | |
| | | public class Residential |
| | |
| | | public int OpenMode; |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 自动化门锁成员信息作为条件列表 |
| | | /// </summary> |
| | | public static List<MembershipIfon> UserList = new List<MembershipIfon>(); |
| | | |
| | | /// <summary> |
| | | ///联动事件门锁成员信息作为条件的列表 |
| | | /// </summary> |
| | | public static List<MembershipIfon> LinkageventLockList = new List<MembershipIfon>(); |
| | | |
| | | /// <summary> |
| | | /// 当前门锁 |
| | | /// </summary> |
| | | public static ZigBee.Device.DoorLock CurrentDoorLock = null; |
| | | /// <summary> |
| | | /// 当前用户的信息 |
| | | /// </summary> |
| | | public static UserCenter.MemberInfoRes UserMemberInfoRes = null; |
| | | #endregion |
| | | } |
| | | } |