void Events_ReadNotify(object sender, Events.ReadEventArgs e) { try { Dictionary<string, KTR.IRFID.TagData> lstTags = new Dictionary<string, IRFID.TagData>(); Symbol.RFID3.TagData[] readTags = objMotorolaReader.Actions.GetReadTags(8000); foreach (Symbol.RFID3.TagData tag in readTags) { KTR.IRFID.TagData tempTag = new IRFID.TagData(); tempTag.RFID_HEX = tag.TagID; tempTag.SourceAntenna = tag.AntennaID.ToString(); tempTag.ReadRSSI = (int)tag.PeakRSSI; tempTag.ReadTime = DateTime.Now; tempTag.SourceReader = this.rdrInfo.HostName; lstTags[tempTag.RFID_HEX] = tempTag; } List<KTR.IRFID.TagData> tagDataToSend = new List<IRFID.TagData>(); tagDataToSend.AddRange(lstTags.Values); ReadEventArgs resArgs = new ReadEventArgs(); resArgs.Tags = tagDataToSend; resArgs.TimeStamp = DateTime.Now; onTagReadRaised(resArgs); } catch (Exception ex) { } }
public override List<KTR.IRFID.TagData> ReadTag(int millisecondTimeOut) { try { if (!objMotorolaReader.IsConnected) throw new Exception("Reader is offline"); bool flag = false; if (!this.inventoryInProgress) { StartTagInventory(); } Thread.Sleep(millisecondTimeOut); if (this.inventoryInProgress && flag) { StopTagInventory(); } Dictionary<string, KTR.IRFID.TagData> lstTags = new Dictionary<string, IRFID.TagData>(); Symbol.RFID3.TagData[] readTags = objMotorolaReader.Actions.GetReadTags(8000); foreach (Symbol.RFID3.TagData tag in readTags) { KTR.IRFID.TagData tempTag = new IRFID.TagData(); tempTag.RFID_HEX = tag.TagID; tempTag.SourceAntenna = tag.AntennaID.ToString(); tempTag.ReadRSSI = (int)tag.PeakRSSI; tempTag.ReadTime = DateTime.Now; tempTag.SourceReader = this.rdrInfo.HostName; lstTags[tempTag.RFID_HEX] = tempTag; } List<KTR.IRFID.TagData> tagDataToSend = new List<IRFID.TagData>(); tagDataToSend.AddRange(lstTags.Values); return tagDataToSend; } catch (Exception ex) { throw new Exception("Unable to start inventory. " + ex.Message); } }