DataContent.cs 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. using Dfs.WayneChina.HengshanPayTerminal.MessageEntity.Incoming;
  2. using Dfs.WayneChina.HengshanPayTerminal.Support;
  3. using Edge.Core.Parser.BinaryParser.Attributes;
  4. using Edge.Core.Parser.BinaryParser.MessageEntity;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Text;
  8. namespace Dfs.WayneChina.HengshanPayTerminal.MessageEntity.Outgoing
  9. {
  10. public class DataContent : CardMessageBase
  11. {
  12. public DataContent() : base(Command.DataContent)
  13. {
  14. }
  15. [Format(1, EncodingType.BIN, -90)]
  16. public DataContentType DataContentType { get; set; }
  17. [Format(2, EncodingType.BIN, -89)]
  18. public ushort SegmentOffset { get; set; }
  19. [Format(1, EncodingType.BIN, -88)]
  20. public byte SegmentCount { get; set; }
  21. [EnumerableFormat("%cascade", -87, EncodingType = EncodingType.BIN)]
  22. public List<byte> Content { get; set; }
  23. }
  24. public class FuelPriceRecord : MessageTemplateBase
  25. {
  26. [Format(1, EncodingType.BIN, 1)]
  27. public byte Version { get; set; }
  28. [Format(6, EncodingType.BcdString, 2)]
  29. public string EffectiveTime { get; set; }
  30. [Format(1, EncodingType.BIN, 3)]
  31. public byte RecordCount { get; set; }
  32. [Format(1, EncodingType.BIN, 4)]
  33. public byte NozzleNo { get; set; }
  34. [Format(2, EncodingType.BCD, 5)]
  35. public ushort FuelProductCode { get; set; }
  36. [Format(32, EncodingType.HexString, 6)]
  37. public string FuelProductName { get; set; }
  38. [Format(4, EncodingType.BIN, 7)]
  39. public int Density { get; set; }
  40. [Format(1, EncodingType.BIN, 8)]
  41. public byte ValidPriceCount { get; set; }
  42. [Format(2, EncodingType.BIN, 9)]
  43. public ushort Price1 { get; set; }
  44. [Format(2, EncodingType.BIN, 10)]
  45. public ushort Price2 { get; set; }
  46. [Format(2, EncodingType.BIN, 11)]
  47. public ushort Price3 { get; set; }
  48. [Format(2, EncodingType.BIN, 12)]
  49. public ushort Price4 { get; set; }
  50. [Format(2, EncodingType.BIN, 13)]
  51. public ushort Price5 { get; set; }
  52. [Format(2, EncodingType.BIN, 14)]
  53. public ushort Price6 { get; set; }
  54. [Format(2, EncodingType.BIN, 15)]
  55. public ushort Price7 { get; set; }
  56. [Format(2, EncodingType.BIN, 16)]
  57. public ushort Price8 { get; set; }
  58. }
  59. public class MultiFuelPriceRecord : MessageTemplateBase
  60. {
  61. [Format(1, EncodingType.BIN, 1)]
  62. public byte Version { get; set; }
  63. [Format(6, EncodingType.BcdString, 2)]
  64. public string EffectiveTime { get; set; }
  65. [Format(1, EncodingType.BIN, 3)]
  66. public byte RecordCount { get; set; }
  67. [Format(1, EncodingType.BIN, 4)]
  68. public byte FirstNozzleNo { get; set; }
  69. [Format(2, EncodingType.BCD, 5)]
  70. public ushort FirstFuelProductCode { get; set; }
  71. [Format(32, EncodingType.HexString, 6)]
  72. public string FirstFuelProductName { get; set; }
  73. [Format(4, EncodingType.BIN, 7)]
  74. public int FirstDensity { get; set; }
  75. [Format(1, EncodingType.BIN, 8)]
  76. public byte FirstValidPriceCount { get; set; }
  77. [Format(2, EncodingType.BIN, 9)]
  78. public ushort FirstPrice1 { get; set; }
  79. //[Format(2, EncodingType.BIN, 10)]
  80. //public ushort FirstPrice2 { get; set; }
  81. //[Format(2, EncodingType.BIN, 11)]
  82. //public ushort FirstPrice3 { get; set; }
  83. //[Format(2, EncodingType.BIN, 12)]
  84. //public ushort FirstPrice4 { get; set; }
  85. //[Format(2, EncodingType.BIN, 13)]
  86. //public ushort FirstPrice5 { get; set; }
  87. //[Format(2, EncodingType.BIN, 14)]
  88. //public ushort FirstPrice6 { get; set; }
  89. //[Format(2, EncodingType.BIN, 15)]
  90. //public ushort FirstPrice7 { get; set; }
  91. //[Format(2, EncodingType.BIN, 16)]
  92. //public ushort FirstPrice8 { get; set; }
  93. [Format(1, EncodingType.BIN, 17)]
  94. public byte SecondNozzleNo { get; set; }
  95. [Format(2, EncodingType.BCD, 18)]
  96. public ushort SecondFuelProductCode { get; set; }
  97. [Format(32, EncodingType.HexString, 19)]
  98. public string SecondFuelProductName { get; set; }
  99. [Format(4, EncodingType.BIN, 20)]
  100. public int SecondDensity { get; set; }
  101. [Format(1, EncodingType.BIN, 21)]
  102. public byte SecondValidPriceCount { get; set; }
  103. [Format(2, EncodingType.BIN, 22)]
  104. public ushort SecondPrice1 { get; set; }
  105. //[Format(2, EncodingType.BIN, 23)]
  106. //public ushort SecondPrice2 { get; set; }
  107. //[Format(2, EncodingType.BIN, 24)]
  108. //public ushort SecondPrice3 { get; set; }
  109. //[Format(2, EncodingType.BIN, 25)]
  110. //public ushort SecondPrice4 { get; set; }
  111. //[Format(2, EncodingType.BIN, 26)]
  112. //public ushort SecondPrice5 { get; set; }
  113. //[Format(2, EncodingType.BIN, 27)]
  114. //public ushort SecondPrice6 { get; set; }
  115. //[Format(2, EncodingType.BIN, 28)]
  116. //public ushort SecondPrice7 { get; set; }
  117. //[Format(2, EncodingType.BIN, 29)]
  118. //public ushort SecondPrice8 { get; set; }
  119. }
  120. public class ListedCardRecord : MessageTemplateBase
  121. {
  122. [Format(2, EncodingType.BIN, 1)]
  123. public byte Version { get; set; }
  124. [Format(4, EncodingType.BcdString, 2)]
  125. public string ValidStartDate { get; set; }
  126. [Format(4, EncodingType.BcdString, 3)]
  127. public string ExpiryDate { get; set; }
  128. [Format(2, EncodingType.BIN, 4)]
  129. public string Region { get; set; }
  130. [Format(4, EncodingType.BIN, 5)]
  131. public int CardCount { get; set; }
  132. }
  133. }