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); }