// Возвращает читаемое название типа штрих-кода private string GetBarcodeTypeName(SupportedBarcodesTypes Type) { switch (Type) { case SupportedBarcodesTypes.EAN8: case SupportedBarcodesTypes.EAN13: return(Type.ToString()); case SupportedBarcodesTypes.DataMatrixCigarettes: return("DataMatrix для пачек сигарет"); case SupportedBarcodesTypes.DataMatrixCigarettesBlocks: return("DataMatrix для блоков сигарет"); case SupportedBarcodesTypes.DataMatrixMedicines: return("DataMatrix для лекарств, остатков обуви и одежды"); case SupportedBarcodesTypes.DataMatrixShoes: return("DataMatrix для обуви"); case SupportedBarcodesTypes.DataMatrixMilk: return("DataMatrix для молочной продукции"); default: throw new Exception("Unexpected barcode type, point 1"); } }
/// <summary> /// Метод возвращает описание штрих-кода по его данным /// </summary> /// <param name="BarcodeData">Данные штрих-кода</param> public string GetBarcodeDescription(string BarcodeData) { // Контроль if (string.IsNullOrWhiteSpace(BarcodeData)) { return("Штрих-код неполный, некорректный или не поддерживается"); } // Тип штрих-кода string data = BarcodeData.Replace("\x1D", ""); // Сброс суффиксов DataMatrix SupportedBarcodesTypes type = GetBarcodeType(data); if (type == SupportedBarcodesTypes.Unsupported) { return("Штрих-код неполный, некорректный или не поддерживается"); } string res = "Тип штрих-кода: " + GetBarcodeTypeName(type) + "\r\n"; // Разбор switch (type) { case SupportedBarcodesTypes.EAN8: case SupportedBarcodesTypes.EAN13: res += (" " + GetEANUsage(data)); break; case SupportedBarcodesTypes.DataMatrixCigarettes: res += ("\r\n" + ParseCigarettesDataMatrix(data)); break; case SupportedBarcodesTypes.DataMatrixCigarettesBlocks: res += ("\r\n" + ParseCigarettesBlocksDataMatrix(data)); break; case SupportedBarcodesTypes.DataMatrixMedicines: res += ("\r\n" + ParseMedicinesDataMatrix(data)); break; case SupportedBarcodesTypes.DataMatrixShoes: res += ("\r\n" + ParseShoesDataMatrix(data)); break; case SupportedBarcodesTypes.DataMatrixMilk: res += ("\r\n" + ParseMilkDataMatrix(data)); break; } // Завершено return(res); }