using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; namespace VeederRoot_ATG_Console.MessageEntity.Incoming { /// /// i|I501 or s|S501 /// public class QueryOrSetTimeOfDayResponse : IncomingMessageBase { public DateTime? CurrentDateAndTime { get { if (base.FunctionCode.Item1 == MessageFormat.Display) return null; return DateTime.ParseExact( Encoding.ASCII.GetString(base.DataFieldAndOptionalCheckSumAndETX.Take(10).ToArray()), "yyMMddHHmm", CultureInfo.InvariantCulture); } } public DateTime? SetDateAndTime { get { if (base.FunctionCode.Item1 == MessageFormat.Display) return null; return DateTime.ParseExact( Encoding.ASCII.GetString(base.DataFieldAndOptionalCheckSumAndETX.Skip(10).Take(10).ToArray()), "yyMMddHHmm", CultureInfo.InvariantCulture); } } public override string ToLogString() { if (base.FunctionCode.Item1 == MessageFormat.Display) return Encoding.ASCII.GetString(base.DataFieldAndOptionalCheckSumAndETX.ToArray()); return this.GetType().Name + " Current DateTime: " + ((this?.CurrentDateAndTime.Value.ToString("yyyy-MM-dd HH:mm")) ?? "") + ", SetDateAndTime: " + ((this?.SetDateAndTime.Value.ToString("yyyy-MM-dd HH:mm")) ?? ""); } } }