ПЗ (1218909), страница 16
Текст из файла (страница 16)
if (OperationType_comboBox.SelectedIndex == 1)
{
sqlText = "SELECT MAX(ID_doc) FROM out_doc";//Текст SQL запроса
}
MySQLConnection = new MySqlConnection(ConnectionString);//Создадим соединение
try
{
MySQLConnection.Open();//Откроем соединение с БД
MySqlCommand MySQLCommand = new MySqlCommand(sqlText, MySQLConnection);
MySqlDataReader Reader = MySQLCommand.ExecuteReader();
while (Reader.Read())//Построчно перебираем результат запроса
{
NewID = Convert.ToString(Reader.GetInt32(0));
}
}
catch { }
//Сохраним табличную часть заявки
for (int i = 0; i < Into_Data_listView.Items.Count; i++)
{
if (OperationType_comboBox.SelectedIndex == 0)
{
sqlText = @"INSERT INTO into_doc(ID_doc,ID_good,GoodAmount) VALUES(" + NewID + "," + ID_into_Data_listBox.Items[i] + "," + Into_Data_listView.Items[i].SubItems[1].Text + ")";//Текст SQL запроса
ChangeGoodsAmount(true, Convert.ToString(ID_warehouse_listBox.Items[Into_doc_warehouse_comboBox.SelectedIndex]), Into_Data_listView.Items[i].SubItems[1].Text, ID_into_Data_listBox.Items[i].ToString());
}
if (OperationType_comboBox.SelectedIndex == 1)
{
sqlText = @"INSERT INTO out_doc(ID_doc,ID_good,GoodAmount) VALUES(" + NewID + "," + ID_into_Data_listBox.Items[i] + "," + Into_Data_listView.Items[i].SubItems[1].Text + ")";//Текст SQL запроса
ChangeGoodsAmount(false, Convert.ToString(ID_warehouse_listBox.Items[Into_doc_warehouse_comboBox.SelectedIndex]), Into_Data_listView.Items[i].SubItems[1].Text, ID_into_Data_listBox.Items[i].ToString());
}
MySQLConnection = new MySqlConnection(ConnectionString);//Создадим соединение
try
{
MySQLConnection.Open();//Откроем соединение с БД
MySqlCommand MySQLCommand = new MySqlCommand(sqlText, MySQLConnection);
MySQLCommand.ExecuteNonQuery();
}
catch { }
}
Into_doc_Number_textBox.Visible = false;
Into_doc_Save_button.Visible = false;
Into_doc_warehouse_comboBox.Visible = false;
Into_doc_location_comboBox.Visible = false;
Into_doc_car_comboBox.Visible = false;
Into_Data_listView.Visible = false;
IntoData_Add_button.Visible = false;
IntoData_Del_button.Visible = false;
Into_Data_listView.Visible = false;
Into_doc_Cancel_button.Visible = false;
Into_Number_label.Visible = false;
Into_date_label.Visible = false;
Into_warehouse_label.Visible = false;
Into_car_label.Visible = false;
Into_location_label.Visible = false;
Into_doc_dateTimePicker.Visible = false;
if(OperationType_comboBox.SelectedIndex==0)
{
UpdateIntoDocs();
}
if(OperationType_comboBox.SelectedIndex==1)
{
UpdateOutDocs();
}
ID_into_Data_listBox.Items.Clear();
Into_Data_listView.Items.Clear();
}
private void Into_doc_Cancel_button_Click(object sender, EventArgs e)
{
Into_doc_Number_textBox.Visible = false;
Into_doc_Save_button.Visible = false;
Into_doc_warehouse_comboBox.Visible = false;
Into_doc_location_comboBox.Visible = false;
Into_doc_car_comboBox.Visible = false;
Into_Data_listView.Visible = false;
IntoData_Add_button.Visible = false;
IntoData_Del_button.Visible = false;
Into_Data_listView.Visible = false;
Into_doc_Cancel_button.Visible = false;
Into_Number_label.Visible = false;
Into_date_label.Visible = false;
Into_warehouse_label.Visible = false;
Into_car_label.Visible = false;
Into_location_label.Visible = false;
Into_doc_dateTimePicker.Visible = false;
ID_into_Data_listBox.Items.Clear();
Into_Data_listView.Items.Clear();
}
private void OperationType_comboBox_SelectedIndexChanged(object sender, EventArgs e)
{
if (OperationType_comboBox.SelectedIndex == 0)
{
UpdateIntoDocs();
}
if (OperationType_comboBox.SelectedIndex == 1)
{
UpdateOutDocs();
}
Into_doc_Add_button.Visible = true;
Into_doc_Del_button.Visible = true;
Into_docs_listView.Visible = true;
}
private void IntoData_Add_button_Click(object sender, EventArgs e)
{
Into_good_label.Visible = true;
IntoData_Save_button.Visible = true;
Into_doc_good_comboBox.Visible = true;
Into_doc_Amount_textBox.Visible = true;
Into_Amount_label.Visible = true;
IntpData_Cancel_button.Visible = true;
FullGoodsComboBox();
}
private void IntpData_Cancel_button_Click(object sender, EventArgs e)
{
Into_good_label.Visible = false;
IntoData_Save_button.Visible = false;
Into_doc_good_comboBox.Visible = false;
Into_doc_Amount_textBox.Visible = false;
Into_Amount_label.Visible = false;
IntpData_Cancel_button.Visible = false;
}
private void IntoData_Save_button_Click(object sender, EventArgs e)
{
ListViewItem IntoItem = new ListViewItem(Into_doc_good_comboBox.Text);
IntoItem.SubItems.Add(Into_doc_Amount_textBox.Text);
Into_Data_listView.Items.Add(IntoItem);
ID_into_Data_listBox.Items.Add(ID_goods_listBox.Items[Into_doc_good_comboBox.SelectedIndex]);
Into_good_label.Visible = false;
IntoData_Save_button.Visible = false;
Into_doc_good_comboBox.Visible = false;
Into_doc_Amount_textBox.Visible = false;
Into_Amount_label.Visible = false;
IntpData_Cancel_button.Visible = false;
}
private void ChangeGoodsAmount(bool IsInto, string ID_warehouse, string Amount, string ID_good)
{
//Проверим, есть ли запись об остатках заданного товара
bool HasRecord = false;
string sqlText = "SELECT * FROM goods_amount WHERE ID_warehouse="+ID_warehouse+" AND ID_good="+ID_good;//Текст SQL запроса
MySqlConnection MySQLConnection = new MySqlConnection(ConnectionString);//Создадим соединение
try
{
MySQLConnection.Open();//Откроем соединение с БД
MySqlCommand MySQLCommand = new MySqlCommand(sqlText, MySQLConnection);
MySqlDataReader Reader = MySQLCommand.ExecuteReader();
while (Reader.Read())//Построчно перебираем результат запроса
{
HasRecord = true;
break;
}
}
catch { }
if(IsInto)
{
if(HasRecord)
{
sqlText = @"UPDATE goods_amount SET Amount=Amount+"+Amount+" WHERE ID_warehouse="+ID_warehouse+" AND ID_good="+ID_good;//Текст SQL запроса
MySQLConnection = new MySqlConnection(ConnectionString);//Создадим соединение
try
{
MySQLConnection.Open();//Откроем соединение с БД
MySqlCommand MySQLCommand = new MySqlCommand(sqlText, MySQLConnection);
MySQLCommand.ExecuteNonQuery();
}
catch { }
}
else
{
sqlText = @"INSERT INTO goods_amount(ID_warehouse,ID_good,Amount) VALUES(" + ID_warehouse + "," + ID_good + "," + Amount + ")";//Текст SQL запроса
MySQLConnection = new MySqlConnection(ConnectionString);//Создадим соединение
try
{
MySQLConnection.Open();//Откроем соединение с БД
MySqlCommand MySQLCommand = new MySqlCommand(sqlText, MySQLConnection);
MySQLCommand.ExecuteNonQuery();
}
catch { }
}
}
else
{
if (HasRecord)
{
sqlText = @"UPDATE goods_amount SET Amount=Amount-" + Amount + " WHERE ID_warehouse=" + ID_warehouse + " AND ID_good=" + ID_good;//Текст SQL запроса
MySQLConnection = new MySqlConnection(ConnectionString);//Создадим соединение
try
{
MySQLConnection.Open();//Откроем соединение с БД
MySqlCommand MySQLCommand = new MySqlCommand(sqlText, MySQLConnection);
MySQLCommand.ExecuteNonQuery();
}
catch { }
}
}
}
private void ReportClientsbutton_Click(object sender, EventArgs e)
{
//Формируем Exel файл
Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook ObjWorkBook;
Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet;
//Создаем книгу из шаблона. Шаблон лежит в той же папке, что и текущее приложение.
ObjWorkBook = ObjExcel.Workbooks.Open(Path.Combine(System.Windows.Forms.Application.StartupPath, "clients.xltm"));
//Лист.
ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];
int ExelRowNumber = 0;
string sqlText = "SELECT * FROM clients";//Текст SQL запроса
MySqlConnection MySQLConnection = new MySqlConnection(ConnectionString);//Создадим соединение
try
{
MySQLConnection.Open();//Откроем соединение с БД
MySqlCommand MySQLCommand = new MySqlCommand(sqlText, MySQLConnection);
MySqlDataReader Reader = MySQLCommand.ExecuteReader();
while (Reader.Read())//Построчно перебираем результат запроса
{
Microsoft.Office.Interop.Excel.Range cel = (Microsoft.Office.Interop.Excel.Range)ObjWorkSheet.Cells[5 + ExelRowNumber, 1];
Microsoft.Office.Interop.Excel.Range row = cel.EntireRow;
row.Select();
Microsoft.Office.Interop.Excel.Range cel1 = (Microsoft.Office.Interop.Excel.Range)ObjWorkSheet.Cells[4 + ExelRowNumber, 1];
Microsoft.Office.Interop.Excel.Range row1 = cel.EntireRow;
row1.Insert(Microsoft.Office.Interop.Excel.XlInsertShiftDirection.xlShiftDown, Type.Missing);
Microsoft.Office.Interop.Excel.Range CurrentCell = (Microsoft.Office.Interop.Excel.Range)ObjWorkSheet.Cells[5 + ExelRowNumber, 1];
CurrentCell.Value2 = Reader.GetString(1);
CurrentCell = (Microsoft.Office.Interop.Excel.Range)ObjWorkSheet.Cells[5 + ExelRowNumber, 2];
CurrentCell.Value2 = Reader.GetString(2);
ExelRowNumber++;
}
}
catch { }
//Делаем Exel файл видимым пользователю
ObjExcel.Visible = true;
ObjExcel.UserControl = true;
}
private void ReportRestsbutton_Click(object sender, EventArgs e)
{
//Формируем Exel файл
Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook ObjWorkBook;
Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet;
//Создаем книгу из шаблона. Шаблон лежит в той же папке, что и текущее приложение.
ObjWorkBook = ObjExcel.Workbooks.Open(Path.Combine(System.Windows.Forms.Application.StartupPath, "rests.xltm"));
//Лист.
ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];
int ExelRowNumber = 0;
string sqlText = @"SELECT goods.GoodName
, warehouses.WarehouseName
, goods_amount.Amount
FROM
goods_amount
JOIN goods
ON goods.ID_good = goods_amount.ID_good
JOIN warehouses
ON warehouses.ID_warehouse = goods_amount.ID_warehouse";//Текст SQL запроса
MySqlConnection MySQLConnection = new MySqlConnection(ConnectionString);//Создадим соединение
try
{
MySQLConnection.Open();//Откроем соединение с БД
MySqlCommand MySQLCommand = new MySqlCommand(sqlText, MySQLConnection);
MySqlDataReader Reader = MySQLCommand.ExecuteReader();
while (Reader.Read())//Построчно перебираем результат запроса
{
Microsoft.Office.Interop.Excel.Range cel = (Microsoft.Office.Interop.Excel.Range)ObjWorkSheet.Cells[5 + ExelRowNumber, 1];
Microsoft.Office.Interop.Excel.Range row = cel.EntireRow;
row.Select();
Microsoft.Office.Interop.Excel.Range cel1 = (Microsoft.Office.Interop.Excel.Range)ObjWorkSheet.Cells[4 + ExelRowNumber, 1];
Microsoft.Office.Interop.Excel.Range row1 = cel.EntireRow;
row1.Insert(Microsoft.Office.Interop.Excel.XlInsertShiftDirection.xlShiftDown, Type.Missing);
Microsoft.Office.Interop.Excel.Range CurrentCell = (Microsoft.Office.Interop.Excel.Range)ObjWorkSheet.Cells[5 + ExelRowNumber, 1];
CurrentCell.Value2 = Reader.GetString(0);
CurrentCell = (Microsoft.Office.Interop.Excel.Range)ObjWorkSheet.Cells[5 + ExelRowNumber, 2];
CurrentCell.Value2 = Reader.GetString(1);
CurrentCell = (Microsoft.Office.Interop.Excel.Range)ObjWorkSheet.Cells[5 + ExelRowNumber, 3];
CurrentCell.Value2 = Convert.ToString(Reader.GetInt32(2));
ExelRowNumber++;
}
}
catch { }
//Делаем Exel файл видимым пользователю
ObjExcel.Visible = true;
ObjExcel.UserControl = true;
}
private void Into_doc_Del_button_Click(object sender, EventArgs e)
{
if (Into_docs_listView.SelectedIndices[0] != -1)
{
string sqlText = string.Empty;
if (OperationType_comboBox.SelectedIndex == 0)
{
sqlText = @"DELETE FROM into_doc WHERE ID_doc=" + ID_Into_docs_listBox.Items[Into_docs_listView.SelectedIndices[0]];//Текст SQL запроса
}
if (OperationType_comboBox.SelectedIndex == 1)
{
sqlText = @"DELETE FROM out_doc WHERE ID_doc=" + ID_Into_docs_listBox.Items[Into_docs_listView.SelectedIndices[0]];//Текст SQL запроса
}
MySqlConnection MySQLConnection = new MySqlConnection(ConnectionString);//Создадим соединение















