using Edge.Core.Parser.BinaryParser; using Edge.Core.Parser.BinaryParser.MessageEntity; using Edge.Core.Parser.BinaryParser.Util; using ShellChina_EPS_Project_CarPlatePay_EpsClient_App.MessageEntity; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ShellChina_EPS_Project_CarPlatePay_EpsClient_App { public class Parser : ParserBase { public Parser() : base(new MessageTemplateLookup()) { } public override byte[] Serialize(MessageTemplateBase message) { var raw = base.Serialize(message); return (raw.Length).GetBinBytes(2).Concat(raw).ToArray(); } public override MessageTemplateBase Deserialize(byte[] rawData) { //if (rawData.Length > 4) //{ // exclude last 4 byte which are (2 bytes CRC + 1 byte EOT + 1byte 0xFA) return base.Deserialize(rawData.Skip(2).ToArray()); //} //else //{ // // exclude last 1 byte of 0xFA // return base.Deserialize(rawData.Take(rawData.Length - 1).ToArray()); //} } } }