private void ScaningData(string barcode) { OrderItem item = null; try { //если в сканированых не нашли тогда ищем в БД statusBar1.Text = "Поиск " + barcode + " в БД..."; statusBar1.Refresh(); //item = data.GetOrdeItemByBarcode(barcode); Ean ean = data.GetEan(barcode); if (ean != null) { statusBar1.Text = "Найдено: " + ean.ArtCode.ToString(); statusBar1.Refresh(); } item = (ean != null) ? data.GetOrderItemByEan(ean) : null; // запись не создана тогда создадим её if (item == null) { //item = data.CreateOrderItemByBarcode(barcode); item = (ean != null) ? data.CreateOrderItem(ean) : null; } //если ШК не найден то выход if (item == null) { statusBar1.Text = "ШК " + barcode + " не найден."; MessageBox.Show(statusBar1.Text, "Внимание", MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1); RefreshStatusBar(); return; } try { if (GlobalArea.AppOption.FastScan) { item.Qty += ((GlobalArea.AppOption.MultypleQtyType == MultipleQty.BY_PACKAGE) ? item.Ean.Koef : 1); item.ScanLog.ActType = AType.Update; var t_itm = data.Save(ref item); lastOrderItem = t_itm; if (t_itm == null) { MessageBox.Show("Позиция не добавлена", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1); } } else //using (EditQty editQty = new EditQty()) { editQty.Text = "Ввод количества | " + barcode; editQty.Ean13 = barcode; var listOrderItem = new List <OrderItem>(); listOrderItem.Add(item); editQty.cbArt.DataSource = listOrderItem; editQty.cbArt.DisplayMember = "Name"; editQty.cbArt.ValueMember = "ArtCode"; editQty.cbArt.SelectedIndex = 0; editQty.cbArt.Focus(); editQty.lblCnt.Text = editQty.cbArt.Items.Count.ToString(); if (editQty.cbArt.Items.Count == 1) { editQty.tbQty.Focus(); editQty.tbQty.SelectAll(); } editQty.RefreshFont(); if ((editQty.ShowDialog() == DialogResult.OK) && (editQty.Qty != 0)) { item.Qty += editQty.Qty; item.ScanLog.ActType = AType.Update; lastOrderItem = data.Save(ref item); } } } catch (Exception e) { MessageBox.Show(statusBar1.Text, "Ошибка записи данных в БД.", MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1); } } finally { RefreshStatusBar(); } }