FuelingDataRequest.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. using Edge.Core.Parser.BinaryParser.Attributes;
  2. using HengshanPaymentTerminal.Support;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Text;
  6. namespace HengshanPaymentTerminal.MessageEntity.Incoming
  7. {
  8. /// <summary>
  9. /// The request represents the fueling data from terminal after nozzle is returned, 0x1C.
  10. /// 标记为Nozzle_Down_Data
  11. /// Tag: Nozzle_Down_Data
  12. /// </summary>
  13. public class FuelingDataRequest : CardMessageBase
  14. {
  15. #region Constructor
  16. public FuelingDataRequest() : base(Command.FuelingData)
  17. {
  18. }
  19. #endregion
  20. #region Properties
  21. [Format(4, EncodingType.BcdString, -90)]
  22. public string TerminalId { get; set; }
  23. [Format(4, EncodingType.BIN, -89)]
  24. public int PosTtc { get; set; }
  25. [Format(2, EncodingType.BIN, -88)]
  26. public ushort SeqNo { get; set; }
  27. [Format(2, EncodingType.HexString, -87)]
  28. public string FPCode { get; set; }
  29. [Format(2, EncodingType.BCD, -86)]
  30. public int ProductCode { get; set; }
  31. [Format(3, EncodingType.BIN, -85)]
  32. public int Amount { get; set; }
  33. [Format(3, EncodingType.BIN, -84)]
  34. public int Volume { get; set; }
  35. [Format(2, EncodingType.BIN, -83)]
  36. public int Price { get; set; }
  37. [Format(7, EncodingType.BcdString, -82)]
  38. public string DispenserTime { get; set; }
  39. [Format(7, EncodingType.BcdString, -81)]
  40. public string TransactionEndTime { get; set; }
  41. [Format(10, EncodingType.BcdString, -80)]
  42. public string Asn { get; set; }
  43. [Format(3, EncodingType.HexString, -79)]
  44. public string CardInfo { get; set; }
  45. [Format(4, EncodingType.BIN, -78)]
  46. public int VolumeTotal { get; set; }
  47. public CardInfo CurrentCardInfo
  48. {
  49. get
  50. {
  51. return new CardInfo
  52. {
  53. CardType = CardInfo.Substring(0, 2).ToByte(),
  54. CardCtc = CardInfo.Substring(2, 4).ToUInt16()
  55. };
  56. }
  57. }
  58. public FuelingPointCode FuelingPoint
  59. {
  60. get
  61. {
  62. return new FuelingPointCode
  63. {
  64. NozzleNo = FPCode.Substring(0, 2).ToByte(),
  65. PumpNo = FPCode.Substring(2, 2).ToByte()
  66. };
  67. }
  68. }
  69. #endregion
  70. }
  71. }