MessageTemplateLookup.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233
  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.Incoming;
  5. using System.Linq;
  6. namespace ShellChina_EPS_Project_CarPlatePay_EpsClient_App.MessageEntity
  7. {
  8. /// <summary>
  9. /// </summary>
  10. public class MessageTemplateLookup : IMessageTemplateLookup
  11. {
  12. /// <summary>
  13. ///
  14. /// </summary>
  15. /// <param name="bytes"></param>
  16. /// <returns></returns>
  17. public MessageTemplateBase GetMessageTemplateByRawBytes(byte[] bytes)
  18. {
  19. int identity = bytes.Skip(15).Take(3).GetBCD();
  20. if (identity == 020031)
  21. {
  22. return new MembershipInquiryResponse();
  23. }
  24. else if (identity == 020032)
  25. {
  26. return new PaymentResponse();
  27. }
  28. throw new System.InvalidOperationException("message with identity: " + identity + " is not known.");
  29. }
  30. }
  31. }