PumpStatus_TransactionData.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace Wayne_Pump_Dart.MessageEntity.Incoming
  7. {
  8. public enum PumpStatus
  9. {
  10. PUMP_NOT_PROGRAMMED = 0x00,
  11. RESET = 0x01,
  12. AUTHORIZED = 0x02,
  13. FILLING = 0x04,
  14. FILLING_COMPLETED = 0x05,
  15. MAX_AMOUNT_OR_VOLUME_REACHED = 0x06,
  16. SWITCHED_OFF = 0x07,
  17. SUSPENDED_fuelling_point_suspended = 0x08
  18. }
  19. /// <summary>
  20. /// This transaction is sent by the pump if the status is changed
  21. /// or if the pump receives the command 'RETURN STATUS’.
  22. /// </summary>
  23. public class PumpStatus_TransactionData
  24. {
  25. private TransactionData transactionData;
  26. /// <summary>
  27. /// TRANS + LNG + DATA
  28. /// </summary>
  29. /// <param name="oneTransactionFullData">TRANS + LNG + DATA</param>
  30. public PumpStatus_TransactionData(TransactionData transactionData)
  31. {
  32. if (transactionData.TransactionNumber != 0x01)
  33. throw new ArgumentException("PumpStatus_TransactionData must have transaction number 0x01");
  34. this.transactionData = transactionData;
  35. }
  36. public PumpStatus Status
  37. {
  38. get
  39. {
  40. var r = this.transactionData.RawData.First();
  41. return (PumpStatus)r;
  42. }
  43. }
  44. }
  45. }