Example #1
0
        /*Валидирует файл содержащий партии (id и nomenclatuer id)
         * если в файле партий есть id которого небыло в файле с материалами выбрасывается исключение*/
        public static bool validatePartiesFile(string filePath)
        {
            Excel xlsxfile = new Excel();

            xlsxfile.FileOpen(filePath);
            Nomenclatures.validateColumnsInFile(columnsInParties, xlsxfile.Rows);
            Regex regex = new Regex(@"[0-9]+$");

            for (int i = 1; i < xlsxfile.Rows.Count; i++)
            {
                if (!Nomenclatures.validate(regex, xlsxfile.Rows[i][1]))
                {
                    throw new NomenclaturesException($"Не верное id материала, ожидается:\n 'Числовое значение в столбце nomenclature id'\n получено:\n Имя: {xlsxfile.Rows[i][1]}\n Строка: {i}");
                }
                if (!Nomenclatures.checkMaterialInParties(xlsxfile.Rows[i][1]))
                {
                    throw new DataIntegrityException($"Не найден данный id в списке материалов:\n получено:\n id: {xlsxfile.Rows[i][1]}\n Строка: {i}");
                }
                if (!Nomenclatures.canMaterialProcessedOrNot(xlsxfile.Rows[i][1]))
                {
                    throw new DataIntegrityException($"Ни одна из загруженных машин не обрабатывает материал {viewMaterialById(xlsxfile.Rows[i][1])} :\n получено:\n id: {xlsxfile.Rows[i][1]}\n Название: {viewMaterialById(xlsxfile.Rows[i][1])} \n Строка: {i}");
                }
            }
            return(true);
        }
Example #2
0
        //Валидирует файл содержащий название материала и его id
        public static bool validateMaterialsFile(string filePath)
        {
            Excel xlsxfile = new Excel();

            xlsxfile.FileOpen(filePath);
            Nomenclatures.validateColumnsInFile(columnsInMaterials, xlsxfile.Rows);
            Regex regex = new Regex(@"[А-Яа-я]+\s?[А-Яа-я]*$");

            for (int i = 1; i < xlsxfile.Rows.Count; i++)
            {
                if (!Nomenclatures.validate(regex, xlsxfile.Rows[i][1]))
                {
                    throw new NomenclaturesException($"Не верное имя сырья, ожидается:\n 'Одно или два слова на кирилице разделенных пробелом или переносом строки'\n получено:\n Имя: {xlsxfile.Rows[i][1]}\n Строка: {i}");
                }
            }
            return(true);
        }
Example #3
0
        //Валидирует файл с записями о названиях и id машин
        public static bool validateMachineToolsFile(string filePath)
        {
            Excel xlsxfile = new Excel();

            xlsxfile.FileOpen(filePath);
            Nomenclatures.validateColumnsInFile(columnsInOvensIdName, xlsxfile.Rows);
            Regex regex = new Regex(@"Печь [0-9]");

            for (int i = 1; i < xlsxfile.Rows.Count; i++)
            {
                if (!Nomenclatures.validate(regex, xlsxfile.Rows[i][1]))
                {
                    throw new NomenclaturesException($"Не верное имя печи, ожидается:\n 'Печь [номер] (например: Печь 7)'\n получено:\n Имя: {xlsxfile.Rows[i][1]}\n Строка: {i}");
                }
            }
            return(true);
        }
Example #4
0
        //Валидирует файл содержащий характеристики печей
        public static bool validateSpecificationFile(string filePath)
        {
            Excel xlsxfile = new Excel();

            xlsxfile.FileOpen(filePath);
            Nomenclatures.validateColumnsInFile(columnsInOvensSpecifications, xlsxfile.Rows);
            Regex regex = new Regex(@"[0-9]+$");

            for (int j = 0; j < xlsxfile.Rows[0].Count; j++)
            {
                for (int i = 1; i < xlsxfile.Rows.Count; i++)
                {
                    if (!Nomenclatures.validate(regex, xlsxfile.Rows[i][j]))
                    {
                        throw new NomenclaturesException($"Ожидается числовое значение в столбце {xlsxfile.Rows[0][j]}, \n получено:\n id: {xlsxfile.Rows[i][j]}\n Строка: {i}");
                    }
                }
            }
            return(true);
        }