MessageTemplateLookup.cs 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using LanTian_Pump_664_Or_886.MessageEntity;
  2. using LanTian_Pump_664_Or_886.MessageEntity.Incoming;
  3. using Edge.Core.Parser.BinaryParser;
  4. using Edge.Core.Parser.BinaryParser.MessageEntity;
  5. namespace LanTian_Pump_664_Or_886
  6. {
  7. /// <summary>
  8. /// </summary>
  9. public class MessageTemplateLookup : IMessageTemplateLookup
  10. {
  11. /// <summary>
  12. ///
  13. /// </summary>
  14. /// <param name="bytes">F5 01 An dd dd ... dd dd CmdByte XRL</param>
  15. /// <returns></returns>
  16. public MessageTemplateBase GetMessageTemplateByRawBytes(byte[] bytes)
  17. {
  18. if (bytes[bytes.Length - 2] == 0xB2)
  19. return new ChangePriceResponse();
  20. else if (bytes[bytes.Length - 2] == 0xB6)
  21. return new ReadPriceResponse();
  22. else if (bytes[bytes.Length - 2] == 0xD2)
  23. return new WriteCloseAheadValveThresholdResponse();
  24. else if (bytes[bytes.Length - 2] == 0xD6)
  25. return new ReadCloseAheadValveThresholdResponse();
  26. else if (bytes[bytes.Length - 2] == 0xB5)
  27. return new PresetAmountResponse();
  28. else if (bytes[bytes.Length - 2] == 0xB9)
  29. return new PresetVolumeResponse();
  30. else if (bytes[bytes.Length - 2] == 0xD5)
  31. return new ReadPumpStateResponse();
  32. else if (bytes[bytes.Length - 2] == 0xCD)
  33. return new ClearTotalizerResponse();
  34. else if (bytes[bytes.Length - 2] == 0xD9)
  35. return new ReadFuelDataResponse();
  36. else if (bytes[bytes.Length - 2] == 0xC5)
  37. return new ReadTotalizerResponse();
  38. else if (bytes[bytes.Length - 2] == 0xC7)
  39. return new ReadShiftTotalizerResponse();
  40. else if (bytes[bytes.Length - 2] == 0xC3)
  41. return new OpenResponse();
  42. else if (bytes[bytes.Length - 2] == 0xCA)
  43. return new CloseResponse();
  44. else if (bytes[bytes.Length - 2] == 0xE5)
  45. return new AcquireControlResponse();
  46. else if (bytes[bytes.Length - 2] == 0xE7)
  47. return new AcquireReturnControlResponse();
  48. else if (bytes[bytes.Length - 2] == 0xEA)
  49. return new ClearShiftTotalizerResponse();
  50. else if (bytes[bytes.Length - 2] == 0xBA)
  51. return new SuspendFuelResponse();
  52. else if (bytes[bytes.Length - 2] == 0xB3)
  53. return new ResumeFuelResponse();
  54. // return new Wayne_Pump_Dart.MessageEntity.Incoming.EOT();
  55. //else if (bytes[2] == 0x01 && bytes[3] == 1 && bytes[4] == 0x00)
  56. // return new Wayne_Pump_Dart.MessageEntity.Incoming.PumpStatus_ResponseOrEvent();
  57. return null;
  58. }
  59. }
  60. }