using JT808.Protocol.Enums; using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; using System; using System.Buffers.Binary; using System.Collections.Generic; using System.Text; using System.Text.Json; namespace JT808.Protocol.MessageBody.CarDVR { /// /// 设置记录仪初次安装日期 /// 返回:初次安装日期 /// public class JT808_CarDVR_Down_0x83 : JT808MessagePackFormatter, JT808CarDVRDownBodies, IJT808Analyze { /// /// 0x83 /// public byte CommandId => JT808CarDVRCommandID.set_first_install_date_recorder.ToByteValue(); /// /// /// public bool SkipSerialization => false; /// /// 实时时间 /// public DateTime RealTime { get; set; } /// /// 初次安装日期 /// public string Description => "初次安装日期"; /// /// /// /// /// /// public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) { JT808_CarDVR_Down_0x83 value = new JT808_CarDVR_Down_0x83(); value.RealTime = reader.ReadDateTime_yyMMddHHmmss(); writer.WriteString($"[{value.RealTime:yyMMddHHmmss}]初次安装日期", value.RealTime.ToString("yyyy-MM-dd HH:mm:ss")); } /// /// /// /// /// /// public override void Serialize(ref JT808MessagePackWriter writer, JT808_CarDVR_Down_0x83 value, IJT808Config config) { writer.WriteDateTime_yyMMddHHmmss(value.RealTime); } /// /// /// /// /// /// public override JT808_CarDVR_Down_0x83 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_CarDVR_Down_0x83 value = new JT808_CarDVR_Down_0x83(); value.RealTime = reader.ReadDateTime_yyMMddHHmmss(); return value; } } }