//-----------------методы для переопределения в наследуемом классе других операций--------- public virtual ListViewItem ДобавитьТоварВСписок(string[][] Ответ) { if (!СписокПустой) { return(null); //Случай с А01-01-1 идем добавлять товар } var Выборка = from string[] строка in Ответ where строка[0] == "Товар" select строка; if (Выборка.Count() > 1) { Выборка = ВыбратьТоварИзМножества_(Выборка, Ответ); if (Выборка == null) { return(null); } } string[] Строка = Выборка.FirstOrDefault(); if (Строка == null) { Инфо.ОшибкаТоварНеНайден(); return(null); } ListViewItem НоваяСтрока = new ListViewItem(); НоваяСтрока.Text = Строка[4]; НоваяСтрока.SubItems.Add("0"); for (int i = 2; i < Строка.Count(); i++) { try { if (i == 4) { НоваяСтрока.SubItems.Add(Строка[2]); } else { НоваяСтрока.SubItems.Add(Строка[i]); } } catch (Exception e) { НоваяСтрока.SubItems.Add(e.Message.ToString()); } } СписокПеремещения.Items.Add(НоваяСтрока); НоваяСтрока.Selected = true; return(НоваяСтрока); //return null; }
private void СканТовара(string СтрокаСкан) { ListViewItem НайденСкан = НайтиСкан(СтрокаСкан); if (НайденСкан == null && СтрокаСкан.Length == 8) { НайденСкан = НайтиСкан(СтрокаСкан.Substring(0, 7)); //скан кода товара по базе без контрольной суммы, костыль } if (НайденСкан == null) { Обмен = new Пакеты(Последовательность.Операция + "НайтиТовар"); var Ответ = Обмен.ПослатьСтроку(СтрокаСкан); if (Ответ == null) { return; } string Поиск = (from string[] строка in Ответ where строка[0] == "Товар" select строка[1]).FirstOrDefault(); if (Поиск == null) { Инфо.ОшибкаТоварНеНайден(); return; } НайденСкан = НайтиСкан(Поиск); if (НайденСкан != null) { try { НайденСкан.SubItems.Add(СтрокаСкан); } catch (Exception) { } } else { НайденСкан = ДобавитьТоварВСписок(Ответ); } } if (НайденСкан == null) { Инфо.ОшибкаТоварНеНайден(); return; } СделатьВидимым(НайденСкан); ПоказатьИнфооТоваре(НайденСкан); ПрибавитьКоличество(НайденСкан, 1, true); }