QueryOrSetTimeOfDayResponse.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Globalization;
  4. using System.Linq;
  5. using System.Text;
  6. namespace VeederRoot_ATG_Console.MessageEntity.Incoming
  7. {
  8. /// <summary>
  9. /// i|I501 or s|S501
  10. /// </summary>
  11. public class QueryOrSetTimeOfDayResponse : IncomingMessageBase
  12. {
  13. public DateTime? CurrentDateAndTime
  14. {
  15. get
  16. {
  17. if (base.FunctionCode.Item1 == MessageFormat.Display)
  18. return null;
  19. return DateTime.ParseExact(
  20. Encoding.ASCII.GetString(base.DataFieldAndOptionalCheckSumAndETX.Take(10).ToArray()),
  21. "yyMMddHHmm", CultureInfo.InvariantCulture);
  22. }
  23. }
  24. public DateTime? SetDateAndTime
  25. {
  26. get
  27. {
  28. if (base.FunctionCode.Item1 == MessageFormat.Display)
  29. return null;
  30. return DateTime.ParseExact(
  31. Encoding.ASCII.GetString(base.DataFieldAndOptionalCheckSumAndETX.Skip(10).Take(10).ToArray()),
  32. "yyMMddHHmm", CultureInfo.InvariantCulture);
  33. }
  34. }
  35. public override string ToLogString()
  36. {
  37. if (base.FunctionCode.Item1 == MessageFormat.Display)
  38. return Encoding.ASCII.GetString(base.DataFieldAndOptionalCheckSumAndETX.ToArray());
  39. return this.GetType().Name + " Current DateTime: "
  40. + ((this?.CurrentDateAndTime.Value.ToString("yyyy-MM-dd HH:mm")) ?? "")
  41. + ", SetDateAndTime: "
  42. + ((this?.SetDateAndTime.Value.ToString("yyyy-MM-dd HH:mm")) ?? "");
  43. }
  44. }
  45. }