using Edge.Core.Parser.BinaryParser.Util;
using ShellChina_EPS_Project_CarPlatePay_EpsClient_App.MessageEntity.Base;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ShellChina_EPS_Project_CarPlatePay_EpsClient_App.MessageEntity.Outgoing
{
public class MembershipInquiryRequest : MembershipInquiryCommand
{
///
/// P-3, P-34, P-41
///
/// 定长,3个字节的BCD码
/// 变长,最大长度64字节的ASCII码
/// 定长,12 个字节ASCII码
public MembershipInquiryRequest(string carPlateNumber, string terminalId)
{
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
base.P_3_处理码 = 020031;
base.P_34_车牌号码 = carPlateNumber;
base.P_41_终端编号 = terminalId;
this.GenerateBitMapAndValue();
}
private void GenerateBitMapAndValue()
{
base.Content?.Clear();
base.Content = new List()
.Concat(base.P_3_处理码.GetBCDBytes(3))
.Concat(Encoding.GetEncoding("GBK").GetBytes(base.P_34_车牌号码).Length.GetBCDBytes(2)).Concat(Encoding.GetEncoding("GBK").GetBytes(base.P_34_车牌号码))
.Concat(Encoding.ASCII.GetBytes(base.P_41_终端编号.PadLeft(12, '0')))
.ToList();
//var fullMsgLen = base.Content.Count + 16;
base.BitMap = BitMapHelper.CreateMap(3, 34, 41).ToList();
//base.Content = fullMsgLen.GetBCDBytes(2)
// .Concat(base.MessageTypeIdentifier.GetBCDBytes(2))
// .Concat(base.BitMap)
// .Concat(base.Content).ToList();
}
}
}