AbortTrxAndEjectCardRequest.cs 866 B

12345678910111213141516171819202122232425262728
  1. using System;
  2. using System.Collections.Generic;
  3. using Parser.BinaryParser.Util;
  4. namespace WayneChina_IcCardReader_SinoChem.MessageEntity.Outgoing
  5. {
  6. public class AbortTrxAndEjectCardRequest : IcCardReaderMessageBase
  7. {
  8. public AbortTrxAndEjectCardRequest(string info, int displayTimeout)
  9. {
  10. if (displayTimeout > 255)
  11. throw new ArgumentOutOfRangeException("Display timeout must be less than 255.");
  12. RawData = new List<byte>();
  13. RawData.Add(0x10);
  14. var infoBytes = System.Text.Encoding.GetEncoding("GBK").GetBytes(info.PadRight(32, ' '));
  15. if (infoBytes.Length >= 32)
  16. {
  17. for (int i = 0; i < 32; i++)
  18. RawData.Add(infoBytes[i]);
  19. }
  20. RawData.AddRange(displayTimeout.GetBCDBytes(1));
  21. }
  22. }
  23. }