1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- 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
- {
- /// <summary>
- /// P-3, P-34, P-41
- /// </summary>
- /// <param name="processCode">定长,3个字节的BCD码</param>
- /// <param name="carPlateNumber">变长,最大长度64字节的ASCII码</param>
- /// <param name="terminalId">定长,12 个字节ASCII码</param>
- 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<byte>()
- .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();
- }
- }
- }
|