public Enroll GetEnroll(int userId) { var device = _deviceProxy.Device; var extraProperty = (UInt64)userId; var extraData = new object(); using (var operation = new DeviceLockableOperation(_deviceProxy)) { var retryablePolicy = Policies.GetRetryablePolicy(); bool result = retryablePolicy.Execute(() => { return(_deviceProxy.DeviceConnection.GetProperty(DeviceProperty.Enrolls, extraProperty, ref device, ref extraData)); }); if (!result) { Log.WarnFormat("Cannot get enroll for useid: {0}", userId); return(null); } var rawUser = (User)extraData; var rawEnroll = rawUser.Enrolls.First(); return(rawEnroll); } }
public bool SaveOrUpdateUser(User deviceUser) { using (var operation = new DeviceLockableOperation(_deviceProxy)) { var retryablePolicy = Policies.GetRetryablePolicy(); bool result = retryablePolicy.Execute( () => _deviceProxy.DeviceConnection.SetProperty(UserProperty.Enroll, new object(), deviceUser, false)); return(result); } }
public bool DeleteAllLog() { bool result; var device = _deviceProxy.Device; var extraProperty = new object(); var extraData = new object(); using (var operation = new DeviceLockableOperation(_deviceProxy)) { result = _deviceProxy.DeviceConnection.SetProperty(DeviceProperty.AttRecords, extraProperty, device, extraData); return(result); } }
public bool UpdateTimeGroupData(byte[] data) { var device = _deviceProxy.Device; object extraData = Encoding.Unicode.GetString(data); using (var operation = new DeviceLockableOperation(_deviceProxy)) { var retryablePolicy = Policies.GetRetryablePolicy(); bool result = retryablePolicy.Execute( () => _deviceProxy.DeviceConnection.SetProperty(DeviceProperty.PassGroup, Zd2911Utils.DevicePassGroup, device, extraData)); return(result); } }
public void UpdateDevice(byte[] data) { bool result = false; var device = _deviceProxy.Device; var extraProperty = new object(); var extraData = Encoding.Unicode.GetString(data); using (var operation = new DeviceLockableOperation(_deviceProxy)) { var retryablePolicy = Policies.GetRetryablePolicy(); result = retryablePolicy.Execute( () => result = _deviceProxy.DeviceConnection.SetProperty(DeviceProperty.AccessControlSettings, Zd2911Utils.DeviceAccessControlSettings, device, extraData)); } }
public DoorStateInfo GetDoorStates(Int32 doorIndex) { var doorState = new DoorStateInfo() { DoorIndex = doorIndex }; using (var operation = new DeviceLockableOperation(_deviceProxy)) { doorState.Opened = GetDoorStatus(doorIndex == 1); } return(doorState); }
public User GetUser(int userId) { var deviceUser = new User() { DIN = (UInt64)userId }; object extraData = new object(); using (var operation = new DeviceLockableOperation(_deviceProxy)) { var retryablePolicy = Policies.GetOneRetryPolicy(); bool result = retryablePolicy.Execute( () => _deviceProxy.DeviceConnection.GetProperty(UserProperty.Enroll, null, ref deviceUser, ref extraData)); return(result ? deviceUser : null); } }
public List <Record> GetLogData(QueryLogCondictions conditions) { var logs = new List <Record>(); bool result; var device = _deviceProxy.Device; var extraProperty = new object(); var extraData = new object(); var datetimeRange = new List <DateTime>() { conditions.BeginTime.Value, conditions.EndTime.Value, }; ; var boolList = new List <bool>() { conditions.Options == GetLogOptions.GetNewLogs, //新日志,该参数为true时,第二个参数清除新日志标记值为true或false时都将强制清除新日志标记 conditions.CleanNewLogPosition, //清除新日志标记 }; using (var operation = new DeviceLockableOperation(_deviceProxy)) { extraProperty = (conditions.Options == GetLogOptions.GetNewLogs); extraData = datetimeRange; result = _deviceProxy.DeviceConnection.GetProperty(DeviceProperty.ManagementRecordsCount, extraProperty, ref device, ref extraData); int recordCount; int.TryParse(extraData.ToString(), out recordCount); if (result == false || recordCount == 0) { return(logs); } extraProperty = boolList; extraData = datetimeRange; result = _deviceProxy.DeviceConnection.GetProperty(DeviceProperty.ManagementRecords, extraProperty, ref device, ref extraData); if (result) { logs = (List <Record>)extraData; } return(logs); } }
public bool DeleteUser(int userId) { var device = _deviceProxy.Device; var extraProperty = new object(); var extraData = new object(); using (var operation = new DeviceLockableOperation(_deviceProxy)) { var retryablePolicy = Policies.GetRetryablePolicy(); bool result = retryablePolicy.Execute( () => { extraData = (UInt64)userId; return(_deviceProxy.DeviceConnection.SetProperty(DeviceProperty.Enrolls, extraProperty, device, extraData)); }); return(result); } }
public IEnumerable <User> GetAllUsers(bool isAlsoGetName) { var device = _deviceProxy.Device; var extraProperty = new object(); var extraData = new object(); var users = new List <User>(); using (var operation = new DeviceLockableOperation(_deviceProxy)) { var retryablePolicy = Policies.GetRetryablePolicy(); bool result = retryablePolicy.Execute( () => { extraProperty = (UInt64)0; return(_deviceProxy.DeviceConnection.GetProperty(DeviceProperty.Enrolls, extraProperty, ref device, ref extraData)); }); if (result) { users = (List <User>)extraData; } if (isAlsoGetName) { var oneRetryPolicy = Policies.GetOneRetryPolicy(); users.ForEach(x => { var user = new User() { DIN = x.DIN }; oneRetryPolicy.Execute( () => _deviceProxy.DeviceConnection.GetProperty(UserProperty.UserName, extraProperty, ref user, ref extraData)); x.UserName = user.UserName; }); } return(users); } }
public byte[] GetDeviceData() { bool result; var device = _deviceProxy.Device; var extraProperty = new object(); var extraData = new object(); using (var operation = new DeviceLockableOperation(_deviceProxy)) { var retryablePolicy = Policies.GetRetryablePolicy(); result = retryablePolicy.Execute( () => { extraData = Zd2911Utils.DeviceAccessControlSettings; return(_deviceProxy.DeviceConnection.GetProperty(DeviceProperty.AccessControlSettings, extraProperty, ref device, ref extraData)); }); byte[] data = Encoding.Unicode.GetBytes((string)extraData); return(data); } }
public SystemEntity GetSystemData() { var entity = new SystemEntity(); var device = _deviceProxy.Device; bool result; object extraProperty = new object(); object extraData = new object(); using (var operation = new DeviceLockableOperation(_deviceProxy)) { entity.DeviceId = GetSystemParameter(SystemParameters.DeviceID); entity.BaudRate = GetSystemParameter(SystemParameters.Baudrate); entity.Password = GetSystemParameter(SystemParameters.DevicePassword); entity.IP = GetSystemParameter(SystemParameters.IPAddress); entity.Port = GetSystemParameter(SystemParameters.UDPPort); entity.ServerURL = GetSystemParameter(SystemParameters.ServerIPAddress); entity.ServerPort = GetSystemParameter(SystemParameters.ServerUDPPort); extraData = Zd2911Utils.DeviceModel; result = _deviceProxy.DeviceConnection.GetProperty(DeviceProperty.Model, extraProperty, ref device, ref extraData); entity.Model = (string)extraData; extraData = Zd2911Utils.DeviceSerialNo; result = _deviceProxy.DeviceConnection.GetProperty(DeviceProperty.SerialNo, extraProperty, ref device, ref extraData); entity.SerialNumber = (string)extraData; result = _deviceProxy.DeviceConnection.GetProperty(DeviceProperty.MacAddress, extraProperty, ref device, ref extraData); if (result) { var bytes = (byte[])extraData; //bytes.Length = 6 } entity.Mac = ConvertObject.ConvertByteToHex(bytes); } return(entity); } }
public byte[] GetTimeGroupData() { var device = _deviceProxy.Device; var extraProperty = new object(); var extraData = new object(); using (var operation = new DeviceLockableOperation(_deviceProxy)) { var retryablePolicy = Policies.GetRetryablePolicy(); bool result = retryablePolicy.Execute(() => { extraData = Zd2911Utils.DevicePassGroup; return(_deviceProxy.DeviceConnection.GetProperty(DeviceProperty.PassGroup, extraProperty, ref device, ref extraData)); }); if (!result) { throw new Exception("Get time group fails"); } return(Encoding.Unicode.GetBytes((string)extraData)); } }
public bool UpdateSystemData(SystemEntity entity) { var device = _deviceProxy.Device; bool result = true; object extraProperty = new object(); object extraData = new object(); using (var operation = new DeviceLockableOperation(_deviceProxy)) { SetSystemParameter(SystemParameters.DeviceID, entity.DeviceId); SetSystemParameter(SystemParameters.Baudrate, entity.BaudRate); SetSystemParameter(SystemParameters.DevicePassword, entity.Password); SetSystemParameter(SystemParameters.IPAddress, entity.IP); SetSystemParameter(SystemParameters.UDPPort, entity.Port); SetSystemParameter(SystemParameters.ServerIPAddress, entity.ServerURL); SetSystemParameter(SystemParameters.ServerUDPPort, entity.ServerPort); extraProperty = Zd2911Utils.DeviceModel; extraData = entity.Model; _deviceProxy.DeviceConnection.SetProperty(DeviceProperty.Model, extraProperty, device, extraData); return(result); } }