Ejemplo n.º 1
0
        // Возвращает читаемое название типа штрих-кода
        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");
            }
        }
Ejemplo n.º 2
0
        /// <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);
        }