private string Decoder(GS128BarcodeAI ai, string barcode)
        {
            string code = "";

            if (barcode.Contains(ai.AiCode))
            {
                int startIndex = barcode.IndexOf(ai.AiCode) + ai.AiCodeLength;
                code    = barcode.Substring(startIndex, ai.AiMaxLength);
                _status = true;
            }

            return(code);
        }
        /// <summary>
        /// returns value (if exist) of specified GS128 Identifier
        /// Returns empty string if type is not available in passed string
        /// </summary>
        /// <param name="barcode"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public string GS128DecodeByType(string barcode, GS128DecodeType type)
        {
            string res = "";

            var ai = new GS128BarcodeAI();

            switch (type)
            {
            case GS128DecodeType.SSCC:
                res = Decoder(_aiSSCC, barcode);
                break;

            case GS128DecodeType.GTIN:
                res = Decoder(_aiGTIN, barcode);
                break;

            case GS128DecodeType.GTINB:
                res = Decoder(_aiGTINB, barcode);
                break;

            case GS128DecodeType.LotNumber:
                res = Decoder(_aiLotNumber, barcode);
                break;

            case GS128DecodeType.DateProduction:
                res = Decoder(_aiDateProduction, barcode);
                break;

            case GS128DecodeType.DateDue:
                res = Decoder(_aiDateDue, barcode);
                break;

            case GS128DecodeType.DatePacking:
                res = Decoder(_aiDatePacking, barcode);
                break;

            case GS128DecodeType.DateBestBefore:
                res = Decoder(_aiDateBestBefore, barcode);
                break;

            case GS128DecodeType.DateExpiry:
                res = Decoder(_aiDateExpiry, barcode);
                break;

            case GS128DecodeType.SerialNumber:
                res = Decoder(_aiSerialNumber, barcode);
                break;
            }

            return(res);
        }