/// <summary>
        /// Constructor
        /// </summary>
        public GcrRequest()
        {
            CMD_LEN1      = new RegionProperty("CMD_LEN1", 3);
            GCR_ACQIDXREQ = new FixedLengthProperty <Nullable <int> >("GCR_ACQIDXREQ", 2, false,
                                                                      StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);
            GCR_APPTYPREQ = new FixedLengthProperty <Nullable <int> >("GCR_APPTYPREQ", 2, false,
                                                                      StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);
            GCR_AMOUNT = new FixedLengthProperty <Nullable <long> >("GCR_AMOUNT", 12, false,
                                                                    StringFormatter.LongIntegerStringFormatter, StringParser.LongIntegerStringParser);
            GCR_DATE_TIME = new TextProperty <Nullable <DateTime> >("GCR_DATE_TIME", false,
                                                                    StringFormatter.DateTimeStringFormatter, StringParser.DateTimeStringParser);
            GCR_TABVER = new FixedLengthProperty <string>("GCR_TABVER", 10, false,
                                                          StringFormatter.StringStringFormatter, StringParser.StringStringParser);
            GCR_IDAPP_Collection = new DataCollectionProperty <GcrIdApp>("GCR_IDAPP_Collection", 2, 0, 4,
                                                                         StringFormatter.PropertyControllerStringFormatter,
                                                                         StringParser.PropertyControllerStringParser <GcrIdApp>);
            GCR_CTLSON = new TextProperty <Nullable <bool> >("GCR_CTLSON", true,
                                                             StringFormatter.BooleanStringFormatter, StringParser.BooleanStringParser);

            this.StartRegion(CMD_LEN1);
            {
                this.AddProperty(GCR_ACQIDXREQ);
                this.AddProperty(GCR_APPTYPREQ);
                this.AddProperty(GCR_AMOUNT);
                this.AddProperty(GCR_DATE_TIME);
                this.AddProperty(GCR_TABVER);
                this.AddProperty(GCR_IDAPP_Collection);
                this.AddProperty(GCR_CTLSON);
            }
            this.EndLastRegion();
        }
Exemple #2
0
        public GciGertecRequest()
            : base(new GertecContext())
        {
            this.NumericInputType = new FixedLengthProperty <KeyboardNumberFormat>("NumericInputType", 1, false,
                                                                                   StringFormatter.EnumStringFormatter <KeyboardNumberFormat>,
                                                                                   StringParser.EnumStringParser <KeyboardNumberFormat>);
            this.TextInputType = new FixedLengthProperty <KeyboardTextFormat>("TextInputType", 1, false,
                                                                              StringFormatter.EnumStringFormatter <KeyboardTextFormat>,
                                                                              StringParser.EnumStringParser <KeyboardTextFormat>);
            this.LabelFirstLine = new FixedLengthProperty <FirstLineLabelCode>("LabelFirstLine", 2, false,
                                                                               StringFormatter.EnumStringFormatter <FirstLineLabelCode>,
                                                                               StringParser.EnumStringParser <FirstLineLabelCode>);
            this.LabelSecondLine = new FixedLengthProperty <SecondLineLabelCode>("LabelSecondLine", 2, false,
                                                                                 StringFormatter.EnumStringFormatter <SecondLineLabelCode>,
                                                                                 StringParser.EnumStringParser <SecondLineLabelCode>);
            this.MaximumCharacterLength = new FixedLengthProperty <Nullable <int> >("MaximumCharacterLength", 2,
                                                                                    false, StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);
            this.MinimumCharacterLength = new FixedLengthProperty <Nullable <int> >("MinimumCharacterLength", 2,
                                                                                    false, StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);
            this.TimeOut = new FixedLengthProperty <Nullable <int> >("TimeOut", 3, false,
                                                                     StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);
            this.TimeIdle = new FixedLengthProperty <Nullable <int> >("TimeIdle", 3, false,
                                                                      StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);

            {
                this.AddProperty(this.NumericInputType);
                this.AddProperty(this.TextInputType);
                this.AddProperty(this.LabelFirstLine);
                this.AddProperty(this.LabelSecondLine);
                this.AddProperty(this.MaximumCharacterLength);
                this.AddProperty(this.MinimumCharacterLength);
                this.AddProperty(this.TimeOut);
                this.AddProperty(this.TimeIdle);
            }
        }
        /// <summary>
        /// Constructor
        /// </summary>
        public CapkTable()
        {
            this.T2_RID = new FixedLengthProperty <HexadecimalData>("T2_RID", 10, false,
                                                                    StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T2_CAPKIDX = new FixedLengthProperty <HexadecimalData>("T2_CAPKIDX", 2, false,
                                                                        StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T2_RUF1 = new FixedLengthProperty <int?>("T2_RUF1", 2, false,
                                                          StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser, null, 0);
            this.T2_EXP = new VariableLengthProperty <HexadecimalData>("T2_EXP", 1, 6, 1.0f / 2, true, false,
                                                                       StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T2_MOD = new VariableLengthProperty <HexadecimalData>("T2_MOD", 3, 496, 1.0f / 2, true, false,
                                                                       StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T2_CHKSTAT = new TextProperty <bool?>("T2_CHKSTAT", false,
                                                       StringFormatter.BooleanStringFormatter, StringParser.BooleanStringParser);
            this.T2_CHECKSUM = new FixedLengthProperty <HexadecimalData>("T2_CHECKSUM", 40, false,
                                                                         StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T2_RUF2 = new FixedLengthProperty <HexadecimalData>("T2_RUF2", 42, false,
                                                                     StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser, null, new HexadecimalData(new byte[0]));

            {//PinPadBaseTableController starts the region and doesn't close
                this.AddProperty(this.T2_RID);
                this.AddProperty(this.T2_CAPKIDX);
                this.AddProperty(this.T2_RUF1);
                this.AddProperty(this.T2_EXP);
                this.AddProperty(this.T2_MOD);
                this.AddProperty(this.T2_CHKSTAT);
                this.AddProperty(this.T2_CHECKSUM);
                this.AddProperty(this.T2_RUF2);
            }//PinPadBaseTableController starts the region and doesn't close
            this.EndLastRegion();
        }
        // Constructor
        /// <summary>
        /// Constructor defining all properties.
        /// </summary>
        public GinResponse()
        {
            this.RSP_LEN1  = new RegionProperty("RSP_LEN1", 3);
            this.GIN_MNAME = new FixedLengthProperty <string>("GIN_MNAME", 20, false,
                                                              StringFormatter.StringStringFormatter, StringParser.StringStringParser);
            this.GIN_MODEL = new FixedLengthProperty <string>("GIN_MODEL", 19, false,
                                                              StringFormatter.StringStringFormatter, StringParser.StringStringParser);
            this.GIN_CTLSUP = new FixedLengthProperty <string>("GIN_CTLSUP", 1, false,
                                                               StringFormatter.StringStringFormatter, StringParser.StringStringParser);
            this.GIN_SOVER = new FixedLengthProperty <string>("GIN_SOVER", 20, false,
                                                              StringFormatter.StringStringFormatter, StringParser.StringStringParser);
            this.GIN_SPECVER = new FixedLengthProperty <string>("GIN_SPECVER", 4, false,
                                                                StringFormatter.StringStringFormatter, StringParser.StringStringParser);
            this.GIN_MANVER = new FixedLengthProperty <string>("GIN_MANVER", 16, false,
                                                               StringFormatter.StringStringFormatter, StringParser.StringStringParser);
            this.GIN_SERNUM = new FixedLengthProperty <string>("GIN_SERNUM", 20, false,
                                                               StringFormatter.StringStringFormatter, StringParser.StringStringParser);
            this.GIN_ISSTONE = new FixedLengthProperty <Nullable <int> >("GIN_ISSTONE", 1, true,
                                                                         StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);

            this.StartRegion(this.RSP_LEN1);
            {
                this.AddProperty(this.GIN_MNAME);
                this.AddProperty(this.GIN_MODEL);
                this.AddProperty(this.GIN_CTLSUP);
                this.AddProperty(this.GIN_SOVER);
                this.AddProperty(this.GIN_SPECVER);
                this.AddProperty(this.GIN_MANVER);
                this.AddProperty(this.GIN_SERNUM);
                this.AddProperty(this.GIN_ISSTONE);
            }
            this.EndLastRegion();
        }
Exemple #5
0
        /// <summary>
        /// Constructor
        /// </summary>
        public GcrIdApp()
        {
            this.TAB_ACQ = new FixedLengthProperty <Nullable <int> >("TAB_ACQ", 2, false,
                                                                     StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);
            this.TAB_RECIDX = new FixedLengthProperty <Nullable <int> >("TAB_RECIDX", 2, false,
                                                                        StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);

            this.AddProperty(this.TAB_ACQ);
            this.AddProperty(this.TAB_RECIDX);
        }
Exemple #6
0
        /// <summary>
        /// Constructor
        /// </summary>
        public GtsResponse()
        {
            this.RSP_LEN1   = new RegionProperty("RSP_LEN1", 3);
            this.GTS_TABVER = new FixedLengthProperty <string>("GTS_TABVER", 10, false,
                                                               StringFormatter.StringStringFormatter, StringParser.StringStringParser);

            this.StartRegion(this.RSP_LEN1);
            {
                this.AddProperty(this.GTS_TABVER);
            }
            this.EndLastRegion();
        }
Exemple #7
0
        /// <summary>
        /// Creates the command with it's regions.
        /// </summary>
        public UpiRequest()
        {
            this.CMD_LEN1    = new RegionProperty("CMD_LEN1", 3);
            this.UPI_APPSIZE = new FixedLengthProperty <Nullable <int> >("UPI_APPSIZE", 24, false,
                                                                         StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);

            this.StartRegion(this.CMD_LEN1);
            {
                this.AddProperty(this.UPI_APPSIZE);
            }
            this.EndLastRegion();
        }
Exemple #8
0
        // Constructor
        /// <summary>
        /// Constructor
        /// </summary>
        public GtsRequest()
        {
            this.CMD_LEN1   = new RegionProperty("CMD_LEN1", 3);
            this.GTS_ACQIDX = new FixedLengthProperty <Nullable <int> >("GTS_ACQIDX", 2, false,
                                                                        StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);

            this.StartRegion(this.CMD_LEN1);
            {
                this.AddProperty(this.GTS_ACQIDX);
            }
            this.EndLastRegion();
        }
Exemple #9
0
        // Constructor
        /// <summary>
        /// Controller
        /// </summary>
        public OpnResponse()
        {
            this.RSP_LEN1     = new RegionProperty("RSP_LEN1", 3, false, true);
            this.OPN_STONEVER = new FixedLengthProperty <Nullable <int> >("OPN_STONEVER", 3, true,
                                                                          StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);

            this.StartRegion(this.RSP_LEN1);
            {
                this.AddProperty(this.OPN_STONEVER);
            }
            this.EndLastRegion();
        }
        public GcdRequest()
        {
            this.CMD_LEN1   = new RegionProperty("CMD_LEN1", 3, false, true);
            this.SPE_MSGIDX = new FixedLengthProperty <KeyboardMessageCode>("SPE_MSGIDX", 4, false,
                                                                            StringFormatter.EnumStringFormatter <KeyboardMessageCode>,
                                                                            StringParser.EnumStringParser <KeyboardMessageCode>);
            this.SPE_MINDIG = new FixedLengthProperty <Nullable <int> >("SPE_MINDIG", 2, false,
                                                                        StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);
            this.SPE_MAXDIG = new FixedLengthProperty <Nullable <int> >("SPE_MAXDIG", 2, false,
                                                                        StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);

            this.AddProperty(this.SPE_MSGIDX);
            this.AddProperty(this.SPE_MINDIG);
            this.AddProperty(this.SPE_MAXDIG);
        }
Exemple #11
0
        /// <summary>
        /// Creates GDU request command with all properties and regions.
        /// </summary>
        public GduRequest()
        {
            this.CMD_LEN1   = new RegionProperty("CMD_LEN", 3);
            this.GDU_METHOD = new TextProperty <CryptographyMethod>("GDU_METHOD", false,
                                                                    CryptographyMethod.StringFormatter, CryptographyMethod.CustomStringParser);
            this.GDU_IDX = new FixedLengthProperty <Nullable <int> >("GDU_IDX", 2, false,
                                                                     StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);

            this.StartRegion(this.CMD_LEN1);
            {
                this.AddProperty(this.GDU_METHOD);
                this.AddProperty(this.GDU_IDX);
            }
            this.EndLastRegion();
        }
        /// <summary>
        /// Constructor
        /// </summary>
        public GpnResponse()
        {
            this.RSP_LEN1   = new RegionProperty("RSP_LEN1", 3);
            this.GPN_PINBLK = new FixedLengthProperty <HexadecimalData>("GPN_PINBLK", 16, false,
                                                                        StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.GPN_KSN = new FixedLengthProperty <HexadecimalData>("GPN_KSN", 20, false,
                                                                     StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);

            this.StartRegion(this.RSP_LEN1);
            {
                this.AddProperty(this.GPN_PINBLK);
                this.AddProperty(this.GPN_KSN);
            }
            this.EndLastRegion();
        }
        // Constructor
        /// <summary>
        /// Constructor
        /// </summary>
        public BaseResponse(IContext context = null)
            : base(context)
        {
            if (context == null)
            {
                context = new AbecsContext();
            }
            this.Context = context;

            this.RSP_STAT = new FixedLengthProperty <AbecsResponseStatus>("RSP_STAT", this.Context.StatusLength,
                                                                          false, StringFormatter.EnumStringFormatter <AbecsResponseStatus>,
                                                                          StringParser.EnumStringParser <AbecsResponseStatus>);

            this.AddProperty(this.RSP_STAT);
        }
        /// <summary>
        /// Constructor
        /// </summary>
        public RevCerTable()
        {
            this.T3_RID = new FixedLengthProperty <HexadecimalData>("T3_RID", 10, false,
                                                                    StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T3_CAPKIDX = new FixedLengthProperty <HexadecimalData>("T3_CAPKIDX", 2, false,
                                                                        StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T3_CERTSN = new FixedLengthProperty <HexadecimalData>("T3_CERTSN", 6, false,
                                                                       StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);

            {            //PinPadBaseTableController starts the region and doesn't close
                this.AddProperty(this.T3_RID);
                this.AddProperty(this.T3_CAPKIDX);
                this.AddProperty(this.T3_CERTSN);
            }            //PinPadBaseTableController starts the region and doesn't close
            this.EndLastRegion();
        }
        /// <summary>
        /// Constructor
        /// </summary>
        public TliRequest()
            : base(new AbecsContext())
        {
            this.CMD_LEN1   = new RegionProperty("CMD_LEN1", 3);
            this.TLI_ACQIDX = new FixedLengthProperty <Nullable <int> >("TLI_ACQIDX", 2, false,
                                                                        StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);
            this.TLI_TABVER = new FixedLengthProperty <string>("TLI_TABVER", 10, false,
                                                               StringFormatter.StringStringFormatter, StringParser.StringStringParser);

            this.StartRegion(this.CMD_LEN1);
            {
                this.AddProperty(this.TLI_ACQIDX);
                this.AddProperty(this.TLI_TABVER);
            }
            this.EndLastRegion();
        }
Exemple #16
0
        /// <summary>
        /// Constructor
        /// Starts the region TAB_LEN and does not close it
        /// </summary>
        public BaseTable()
        {
            this.TAB_LEN = new RegionProperty("TAB_LEN", 3, true);
            this._TAB_ID = new FixedLengthProperty <EmvTableType>("TAB_ID", 1, false,
                                                                  StringFormatter.EnumStringFormatter <EmvTableType>, StringParser.EnumStringParser <EmvTableType>,
                                                                  null, this.TAB_ID);
            this.TAB_ACQ = new FixedLengthProperty <int?>("TAB_ACQ", 2, false,
                                                          StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);
            this.TAB_RECIDX = new FixedLengthProperty <int?>("TAB_RECIDX", 2, false,
                                                             StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);

            this.StartRegion(this.TAB_LEN);
            {
                this.AddProperty(this._TAB_ID);
                this.AddProperty(this.TAB_ACQ);
                this.AddProperty(this.TAB_RECIDX);
            }
        }
        // Constructor
        /// <summary>
        /// Constructor that sets default values.
        /// </summary>
        public BaseAidTable()
        {
            this.T1_AID = new VariableLengthProperty <HexadecimalData>("T1_AID", 2, 32, 1.0f / 2, true, false,
                                                                       StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T1_APPTYPE = new FixedLengthProperty <int?>("T1_APPTYPE", 2, false,
                                                             StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);
            this.T1_DEFLABEL = new FixedLengthProperty <string>("T1_DEFLABEL", 16, false,
                                                                StringFormatter.StringStringFormatter, StringParser.StringStringParser);
            this._T1_ICCSTD = new FixedLengthProperty <ApplicationType>("T1_ICCSTD", 2, false,
                                                                        StringFormatter.EnumStringFormatter <ApplicationType>,
                                                                        StringParser.EnumStringParser <ApplicationType>, null, this.T1_ICCSTD);

            // PinPadBaseTableController starts the region and doesn't close
            {
                this.AddProperty(this.T1_AID);
                this.AddProperty(this.T1_APPTYPE);
                this.AddProperty(this.T1_DEFLABEL);
                this.AddProperty(this._T1_ICCSTD);
            }
            // PinPadBaseTableController starts the region and doesn't close
        }
        /// <summary>
        /// Creates a PRT request and it's properties.
        /// </summary>
        public PrtRequest()
            : base(new IngenicoContext())
        {
            this.CMD_LEN1   = new RegionProperty("CMD_LEN", 3);
            this.PRT_Action = new FixedLengthProperty <IngenicoPrinterAction>(
                "PRT_Action", 1, false,
                StringFormatter.EnumStringFormatter <IngenicoPrinterAction>,
                StringParser.EnumStringParser <IngenicoPrinterAction>);
            this.PRT_Size = new FixedLengthProperty <PrinterFontSize>(
                "PRT_Size", 1, true,
                StringFormatter.EnumStringFormatter <PrinterFontSize>,
                StringParser.EnumStringParser <PrinterFontSize>);
            this.PRT_Alignment = new FixedLengthProperty <PrinterAlignmentCode>(
                "PRT_Alignment", 1, true,
                StringFormatter.EnumStringFormatter <PrinterAlignmentCode>,
                StringParser.EnumStringParser <PrinterAlignmentCode>);
            this.PRT_DATA = new VariableLengthProperty <string>(
                "PRT_DATA", 3, 512, 1, false, true,
                StringFormatter.StringStringFormatter,
                StringParser.StringStringParser, null);
            this.PRT_Steps = new FixedLengthProperty <Nullable <int> >(
                "PRT_Steps", 4, true,
                StringFormatter.IntegerStringFormatter,
                StringParser.IntegerStringParser);
            this.PRT_Horizontal = new FixedLengthProperty <Nullable <int> >(
                "PRT_Horizontal", 1, true,
                StringFormatter.IntegerStringFormatter,
                StringParser.IntegerStringParser);

            this.StartRegion(this.CMD_LEN1);
            {
                this.AddProperty(this.PRT_Action);
                this.AddProperty(this.PRT_Size);
                this.AddProperty(this.PRT_Alignment);
                this.AddProperty(this.PRT_Steps);
                this.AddProperty(this.PRT_Horizontal);
                this.AddProperty(this.PRT_DATA);
            }
            this.EndLastRegion();
        }
        /// <summary>
        /// Constructor
        /// </summary>
        public AidTable()
        {
            this.T1_APPVER1 = new FixedLengthProperty <HexadecimalData>("T1_APPVER1", 4, false,
                                                                        StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T1_APPVER2 = new FixedLengthProperty <HexadecimalData>("T1_APPVER2", 4, false,
                                                                        StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T1_APPVER3 = new FixedLengthProperty <HexadecimalData>("T1_APPVER3", 4, false,
                                                                        StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T1_TRMCNTRY = new FixedLengthProperty <int?>("T1_TRMCNTRY", 3, false,
                                                              StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);
            this.T1_TRMCURR = new FixedLengthProperty <int?>("T1_TRMCURR", 3, false,
                                                             StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);
            this.T1_TRMCRREXP = new FixedLengthProperty <int?>("T1_TRMCRREXP", 1, false,
                                                               StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);
            this.T1_MERCHID = new FixedLengthProperty <string>("T1_MERCHID", 15, false,
                                                               StringFormatter.StringStringFormatter, StringParser.StringStringParser);
            this.T1_MCC = new FixedLengthProperty <string>("T1_MCC", 4, false,
                                                           StringFormatter.StringStringFormatter, StringParser.StringStringParser);
            this.T1_TRMID = new FixedLengthProperty <string>("T1_TRMID", 8, false,
                                                             StringFormatter.StringStringFormatter, StringParser.StringStringParser);
            this.T1_TRMCAPAB = new FixedLengthProperty <HexadecimalData>("T1_TRMCAPAB", 6, false,
                                                                         StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T1_ADDTRMCP = new FixedLengthProperty <HexadecimalData>("T1_ADDTRMCP", 10, false,
                                                                         StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T1_TRMTYP = new FixedLengthProperty <int?>("T1_TRMTYP", 2, false,
                                                            StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser);
            this.T1_TACDEF = new FixedLengthProperty <HexadecimalData>("T1_TACDEF", 10, false,
                                                                       StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T1_TACDEN = new FixedLengthProperty <HexadecimalData>("T1_TACDEN", 10, false,
                                                                       StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T1_TACONL = new FixedLengthProperty <HexadecimalData>("T1_TACONL", 10, false,
                                                                       StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T1_FLRLIMIT = new FixedLengthProperty <HexadecimalData>("T1_FLRLIMIT", 8, false,
                                                                         StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T1_TCC = new FixedLengthProperty <string>("T1_TCC", 1, false,
                                                           StringFormatter.StringStringFormatter, StringParser.StringStringParser);
            this.T1_CTLSZEROAM = new TextProperty <bool?>("T1_CTLSZEROAM", false,
                                                          StringFormatter.BooleanStringFormatter, StringParser.BooleanStringParser);
            this.T1_CTLSMODE = new FixedLengthProperty <ContactlessMode>("T1_CTLSMODE", 1, false,
                                                                         StringFormatter.EnumStringFormatter <ContactlessMode>, StringParser.EnumStringParser <ContactlessMode>);
            this.T1_CTLSTRNLIM = new FixedLengthProperty <HexadecimalData>("T1_CTLSTRNLIM", 8, false,
                                                                           StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T1_CTLSFLRLIM = new FixedLengthProperty <HexadecimalData>("T1_CTLSFLRLIM", 8, false,
                                                                           StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T1_CTLSCVMLIM = new FixedLengthProperty <HexadecimalData>("T1_CTLSCVMLIM", 8, false,
                                                                           StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T1_CTLSAPPVER = new FixedLengthProperty <HexadecimalData>("T1_CTLSAPPVER", 4, false,
                                                                           StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T1_RUF1 = new FixedLengthProperty <int?>("T1_RUF1", 1, false,
                                                          StringFormatter.IntegerStringFormatter, StringParser.IntegerStringParser, null, 0);
            this.T1_TDOLDEF = new FixedLengthProperty <HexadecimalData>("T1_TDOLDEF", 40, false,
                                                                        StringFormatter.HexadecimalRightPaddingStringFormatter, StringParser.HexadecimalRightPaddingStringParser);
            this.T1_DDOLDEF = new FixedLengthProperty <HexadecimalData>("T1_DDOLDEF", 40, false,
                                                                        StringFormatter.HexadecimalRightPaddingStringFormatter, StringParser.HexadecimalRightPaddingStringParser);
            this.T1_ARCOFFLN = new FixedLengthProperty <string>("T1_ARCOFFLN", 8, false,
                                                                StringFormatter.StringStringFormatter, StringParser.StringStringParser, null, "Y1Z1Y3Z3");
            this.T1_CTLSTACDEF = new FixedLengthProperty <HexadecimalData>("T1_CTLSTACDEF", 10, true,
                                                                           StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T1_CTLSTACDEN = new FixedLengthProperty <HexadecimalData>("T1_CTLSTACDEN", 10, true,
                                                                           StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);
            this.T1_CTLSTACONL = new FixedLengthProperty <HexadecimalData>("T1_CTLSTACONL", 10, true,
                                                                           StringFormatter.HexadecimalStringFormatter, StringParser.HexadecimalStringParser);

            {            //PinPadBaseTableController starts the region and doesn't close
                AddProperty(this.T1_APPVER1);
                AddProperty(this.T1_APPVER2);
                AddProperty(this.T1_APPVER3);
                AddProperty(this.T1_TRMCNTRY);
                AddProperty(this.T1_TRMCURR);
                AddProperty(this.T1_TRMCRREXP);
                AddProperty(this.T1_MERCHID);
                AddProperty(this.T1_MCC);
                AddProperty(this.T1_TRMID);
                AddProperty(this.T1_TRMCAPAB);
                AddProperty(this.T1_ADDTRMCP);
                AddProperty(this.T1_TRMTYP);
                AddProperty(this.T1_TACDEF);
                AddProperty(this.T1_TACDEN);
                AddProperty(this.T1_TACONL);
                AddProperty(this.T1_FLRLIMIT);
                AddProperty(this.T1_TCC);
                AddProperty(this.T1_CTLSZEROAM);
                AddProperty(this.T1_CTLSMODE);
                AddProperty(this.T1_CTLSTRNLIM);
                AddProperty(this.T1_CTLSFLRLIM);
                AddProperty(this.T1_CTLSCVMLIM);
                AddProperty(this.T1_CTLSAPPVER);
                AddProperty(this.T1_RUF1);
                AddProperty(this.T1_TDOLDEF);
                AddProperty(this.T1_DDOLDEF);
                AddProperty(this.T1_ARCOFFLN);
                AddProperty(this.T1_CTLSTACDEF);
                AddProperty(this.T1_CTLSTACDEN);
                AddProperty(this.T1_CTLSTACONL);
            }            //PinPadBaseTableController starts the region and doesn't close
            EndLastRegion();
        }