// ------------------------------------------------------------------------------------------------------------------------------------------------------ // Сканирование товаров --------------------------------------------------------------------------------------------------------------------------------- private void ОбработатьСканТовара(string СтрокаСкан) { string Код = ""; // Проверка на ЕАН8 и преобразование к коду по базе if (СтрокаСкан.Length == 8) { var ЕАН8 = ОбщиеФункции.ПроверитьЕАН8(СтрокаСкан); if (ЕАН8) // Если символ контрольной суммы верный, преобразуем ЕАН8 к семизначному коду по базе { Код = СтрокаСкан.Substring(0, 7); } } var МассивТоваров = НайтиТоварПоЕАН(СтрокаСкан, Код); if (МассивТоваров.Count() == 0) { Инфо.Ошибка("Считанного товара нет в заданиях!"); return; } string ВыбранныйТовар = null; if (МассивТоваров.Count() > 1) { ВыбранныйТовар = ВыборТовараИзМножества.ВыбратьТоварИзМножества(МассивТоваров); } else { ВыбранныйТовар = МассивТоваров.FirstOrDefault()[2]; } if (ВыбранныйТовар == null) { return; } var СтрокаТаблицы = НайтиСтрокуТаблицыПодбораПоГуиду(ВыбранныйТовар); // Гуид if (СтрокаТаблицы == null) { Инфо.Ошибка("Считанного товара нет в заданиях!"); return; } if (СтрокаТаблицы.КоличествоСобрано == СтрокаТаблицы.КоличествоТребуется || СтрокаТаблицы.КоличествоВычерк > 0) { Инфо.Ошибка("Необходимо ввести количество не более " + СтрокаТаблицы.КоличествоТребуется.ToString()); return; } СтрокаТаблицы.КоличествоСобрано += 1; СтрокаТаблицы.СекундПодбора += ВзятьВремя(); ОбработатьКоличествоСтроки(СтрокаТаблицы); }
private void ОбработатьСканТовара(string СтрокаСкан) { string Код = ""; // Проверка на ЕАН8 и преобразование к коду по базе if (СтрокаСкан.Length == 8) { var ЕАН8 = ОбщиеФункции.ПроверитьЕАН8(СтрокаСкан); if (ЕАН8) // Если символ контрольной суммы верный, преобразуем ЕАН8 к семизначному коду по базе { Код = СтрокаСкан.Substring(0, 7); } } var МассивТоваров = НайтиТоварПоЕАН(СтрокаСкан, Код); if (МассивТоваров.Count() == 0) { Инфо.Ошибка("Выбранного товара нет на остатках адреса!"); return; } string ВыбранныйТовар = null; if (МассивТоваров.Count() > 1) { ВыбранныйТовар = ВыборТовараИзМножества.ВыбратьТоварИзМножества(МассивТоваров); } else { ВыбранныйТовар = МассивТоваров.FirstOrDefault()[2]; } if (ВыбранныйТовар == null) { return; } var СтрокаТаблицы = НайтиСтрокуТаблицыПеремещенияПоГуиду(ВыбранныйТовар); // Гуид if (СтрокаТаблицы == null) { Инфо.Ошибка("Выбранного товара нет на остатках адреса!"); return; } if (СтрокаТаблицы.Количество == СтрокаТаблицы.КоличествоОстатокАдреса) { Инфо.Ошибка("Недостаточно товара на полке."); return; } СтрокаТаблицы.Количество += 1; ОбработатьКоличествоСтроки(СтрокаТаблицы); }
public static string ВыбратьТоварИзМножества(IEnumerable <string[]> МассивТоваров) { ВыборТовараИзМножества Окно = new ВыборТовараИзМножества(); var СписокВыбораНаФорме = Окно.СписокВыбора; foreach (string[] Товар in МассивТоваров) { ListViewItem НоваяСтрока = new ListViewItem(); НоваяСтрока.Text = Товар[0]; // Код НоваяСтрока.SubItems.Add(Товар[1]); // Наименование НоваяСтрока.SubItems.Add(Товар[2]); // Гуид СписокВыбораНаФорме.Items.Add(НоваяСтрока); } DialogResult езультат = Окно.ShowDialog(); if (езультат == DialogResult.OK) { return(Окно.Гуид); } return(null); }