private void ОбработкаВводаМеста(string _Данные) { // проверим, что это место if (!_Данные.Substring(0, 3).Equals("mst")) { Инфо.Ошибка("Необходимо сосканировать ШК грузового места."); return; } string ТекущиеМесто = _Данные.Substring(3); // проверим, что место еще не добавлено foreach (ListViewItem item in СписокГрузовыхМест.Items) { if (String.Equals(item.SubItems[0].Text, ТекущиеМесто)) { Инфо.Ошибка("Грузовое место уже присутствует в списке."); // установить курсор на место, которое добавляем повторно СписокГрузовыхМест.EnsureVisible(item.Index); item.Focused = true; return; } } // проверка места на сервере Cursor.Current = Cursors.WaitCursor; ОтветСервера = Обмен.ПослатьСтроку("ПогрузкаСканированиеГрузовогоМеста", ТекущиеМесто, ТТНСсылка, ФилиалСсылка); Cursor.Current = Cursors.Default; if (ОтветСервера == null) { return; } if (ОтветСервера[0][0] == "ГрузовоеМестоДобавлено") { int iter = СписокГрузовыхМест.Items.Count + 1; string[] row = { iter.ToString(), ТекущиеМесто, ОтветСервера[0][1] }; СписокГрузовыхМест.Items.Add(new ListViewItem(row)); аботаСоСканером.Звук.Ок(); } }
private void ОбработкаВводаМеста(string _Данные) { // установим фокус на список мест СписокГрузовыхМест.Focus(); // проверим, что это место if (!_Данные.Substring(0, 3).Equals("mst")) { Инфо.Ошибка("Необходимо сосканировать ШК грузового места."); return; } // снять выделение с других строк foreach (ListViewItem item in СписокГрузовыхМест.Items) { item.Selected = false; } string ТекущиеМесто = _Данные.Substring(3); // проверим, что место еще не добавлено foreach (ListViewItem item in СписокГрузовыхМест.Items) { if (String.Equals(item.SubItems[0].Text, ТекущиеМесто)) { Инфо.Ошибка("Грузовое место уже присутствует в списке."); // установить курсор на место, которое добавляем повторно СписокГрузовыхМест.EnsureVisible(item.Index); item.Focused = true; return; } } // проверка места на сервере Cursor.Current = Cursors.WaitCursor; ОтветСервера = Обмен.Послать("СканированиеГрузовогоМеста", Обмен.ПодготовитьСтроку(ТекущиеМесто)); Cursor.Current = Cursors.Default; if (ОтветСервера == null) { return; } // обработка ответа сервера string ЛишнееМесто = "1"; // истина по умолчанию foreach (string[] str in ОтветСервера) { if (str[0] == "ЛишнееМесто") { ЛишнееМесто = str[1]; } } // добавим строку и спозиционируемся на ней string[] row = { ТекущиеМесто }; var НоваяСтрока = СписокГрузовыхМест.Items.Add(new ListViewItem(row)); СписокГрузовыхМест.EnsureVisible(НоваяСтрока.Index); НоваяСтрока.Focused = true; // подать сигнал о успешном добавлении аботаСоСканером.Звук.Ок(); if (ЛишнееМесто == "1") { НоваяСтрока.BackColor = Color.LightPink; // подать сигнал, что место не ждем аботаСоСканером.Звук.Ошибка(); } else { // подать сигнал, что место наше аботаСоСканером.Звук.Ок(); } УстановитьДоступностьЭлементовФормы(); УстановитьТекстПодсказки(); Данные.СписокГрузовыхМестДобавить(ТекущиеМесто, ЛишнееМесто); }
private void ОбработкаВводаМеста(string _Данные) { // установим фокус на список мест СписокГрузовыхМест.Focus(); // проверим, что это место if (!_Данные.Substring(0, 3).Equals("mst")) { Инфо.Ошибка("Необходимо сканировать ШК грузового места."); return; } // снять выделение с других строк foreach (ListViewItem item in СписокГрузовыхМест.Items) { item.Selected = false; } string ТекущиеМесто = _Данные.Substring(3); // проверим, что место еще не добавлено foreach (ListViewItem item in СписокГрузовыхМест.Items) { if (String.Equals(item.SubItems[0].Text, ТекущиеМесто)) { Инфо.Ошибка("Грузовое место уже присутствует в списке."); // установить курсор на место, которое добавляем повторно СписокГрузовыхМест.EnsureVisible(item.Index); item.Focused = true; item.Selected = true; return; } } // проверка места на сервере Cursor.Current = Cursors.WaitCursor; ОтветСервера = Обмен.ПослатьСтроку("ОбработкаГрузовыхМест_Сканирование", ТекущиеМесто); Cursor.Current = Cursors.Default; if (ОтветСервера == null) { return; } if (ОтветСервера[0][0] == "ГрузовоеМестоДобавлено") { string[] row = { ТекущиеМесто, ОтветСервера[0][1] }; ListViewItem item = СписокГрузовыхМест.Items.Add(new ListViewItem(row)); Данные.СписокГрузовыхМестДобавить(ТекущиеМесто, ОтветСервера[0][1], ОтветСервера[0][2]); СписокГрузовыхМест.EnsureVisible(item.Index); item.Focused = true; item.Selected = true; аботаСоСканером.Звук.Ок(); } УстановитьДоступностьЭлементовФормы(); УстановитьТекстПодсказки(); }