private void openSemantics() { if (mf != null) //если вызвали из MainForm { if (dgv_Products.RowCount > 0) { ProductId = int.Parse(dgv_Products.Rows[dgv_Products.CurrentCellAddress.Y].Cells[0].Value.ToString()); string _productName = dgv_Products.Rows[dgv_Products.CurrentCellAddress.Y].Cells[1].Value.ToString(); string _asin = dgv_Products.Rows[dgv_Products.CurrentCellAddress.Y].Cells[2].Value.ToString(); string _sku = dgv_Products.Rows[dgv_Products.CurrentCellAddress.Y].Cells[3].Value.ToString(); int _prodTypeId = int.Parse(dgv_Products.Rows[dgv_Products.CurrentCellAddress.Y].Cells[4].Value.ToString()); string sqlSemanticsIds = "SELECT * FROM Semantics WHERE [ProductId] = " + ProductId; SqlCommand command = new SqlCommand(sqlSemanticsIds, connection); if (!isNew) { try { connection.Open(); SqlDataReader reader = command.ExecuteReader(); if (reader.HasRows) { SemanticsView semantics = new SemanticsView(mf, ProductId, _productName, _asin, _sku, _prodTypeId); OpenSuccess = true; semantics.Show(); this.Close(); } else { MessageBox.Show("У данного товара пока что нет ни одной семантики", "Ошибка"); } reader.Close(); connection.Close(); } catch (Exception ex) { MessageBox.Show("Упс! Возникла проблема с подключением к БД :( Приложение будет закрыто", "Ошибка"); Environment.Exit(0); } } else if (isNew) //создаем новую семантику { SemanticsView semantics = new SemanticsView(mf, ProductId, _productName, _asin, _sku, _prodTypeId, isNew); OpenSuccess = true; semantics.Show(); this.Close(); } } else { MessageBox.Show("Семантику не выбрано.", "Ошибка"); } } }
/* Открыть семантику товара */ private void showSemanticsToolStripMenuItem_Click(object sender, EventArgs e) { int row = dataGridView1.CurrentCell.RowIndex; int _ProductId = int.Parse(dataGridView1.Rows[row].Cells[0].Value.ToString()); string _ProductName = dataGridView1.Rows[row].Cells[1].Value.ToString(); string _ASIN = dataGridView1.Rows[row].Cells[2].Value.ToString(); string _SKU = dataGridView1.Rows[row].Cells[3].Value.ToString(); int _ProductTypeId = int.Parse(dataGridView1.Rows[row].Cells[4].Value.ToString()); try { SemanticsView sv = new SemanticsView(this, _ProductId, _ProductName, _ASIN, _SKU, _ProductTypeId); sv.Show(); this.Visible = false; } catch (Exception ex) { Console.WriteLine(ex.HResult); MessageBox.Show("Возникли проблемы с отображением семантики для выбранного товара, либо для этого товара ещё нет семантики.", "Ошибка"); } }