public static async Task <ReaderService> Create(RfidReader rfidReader) { //perhaps there are need to be some logic to init reader var wrapper = new RfidReaderWrapper(); var service = new ReaderService(rfidReader, wrapper); using (var context = new ReaderContext()) { await context.ReaderWrappers.AddAsync(wrapper); } return(service); }
public async Task SeeTagInAdequateTime() { var tagSeen = false; var wrapper = new RfidReaderWrapper(new Rfid.RfidReader()); wrapper.TagSeen += (sender, args) => { tagSeen = true; }; wrapper.Activate(); var cancellationTokenSource = new CancellationTokenSource(TimeSpan.FromSeconds(5)); var token = cancellationTokenSource.Token; while (!tagSeen) { await Task.Delay(5, token); } }
private ReaderService(RfidReader rfidReader, RfidReaderWrapper wrapper) { RfidReader = rfidReader; RfidReaderWrapper = wrapper; RfidReader.TagSeen += RfidReader_TagSeen; }