Parser.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using Edge.Core.Parser.BinaryParser;
  2. using Edge.Core.Parser.BinaryParser.MessageEntity;
  3. using Edge.Core.Parser.BinaryParser.Util;
  4. using ShellChina_EPS_Project_CarPlatePay_EpsClient_App.MessageEntity;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. namespace ShellChina_EPS_Project_CarPlatePay_EpsClient_App
  11. {
  12. public class Parser : ParserBase
  13. {
  14. public Parser() : base(new MessageTemplateLookup())
  15. {
  16. }
  17. public override byte[] Serialize(MessageTemplateBase message)
  18. {
  19. var raw = base.Serialize(message);
  20. return (raw.Length).GetBinBytes(2).Concat(raw).ToArray();
  21. }
  22. public override MessageTemplateBase Deserialize(byte[] rawData)
  23. {
  24. //if (rawData.Length > 4)
  25. //{
  26. // exclude last 4 byte which are (2 bytes CRC + 1 byte EOT + 1byte 0xFA)
  27. return base.Deserialize(rawData.Skip(2).ToArray());
  28. //}
  29. //else
  30. //{
  31. // // exclude last 1 byte of 0xFA
  32. // return base.Deserialize(rawData.Take(rawData.Length - 1).ToArray());
  33. //}
  34. }
  35. }
  36. }