public static string GetSerialNumber(string readerName) { string readerSerialNumber; using (var reader = new SmartCardReader(readerName)) { var getSerialNumberCommand = new Readers.AViatoR.Components.SerialNumber(); ConnectToReader(reader); try { var response = SendCommand(reader, getSerialNumberCommand.GetApdu); readerSerialNumber = getSerialNumberCommand.TranslateResponse(response); } catch (Exception) { // TODO Currently errors are suppressed, maybe should add some way to indicate the reason why serial number is not read return(string.Empty); } finally { if (reader.IsConnected) { reader.Disconnect(CardDisposition.Unpower); } } } return(readerSerialNumber); }
private void ReadSerialnumberCommand(ISmartCardReader smartCardReader) { var serialNumber = new Readers.AViatoR.Components.SerialNumber(); ConsoleWriter.Instance.PrintMessage("Get Serial Number"); string input = serialNumber.GetApdu; string output = ReaderHelper.SendCommand(smartCardReader, input); string value = serialNumber.TranslateResponse(output); PrintCommand(string.Empty, input, output, value); }