/* ========================================================================================= * Создание таблиц в базе данных * ========================================================================================= */ void tableUsers() { String sqlCommand; QuerySqlServer query; query = new QuerySqlServer(connectionString); sqlCommand = "CREATE TABLE Users (" + "[id] INT NOT NULL IDENTITY(1,1) PRIMARY KEY, " + "[name] VARCHAR(255) DEFAULT '' UNIQUE, " + "[pass] VARCHAR(255) DEFAULT '', " + "[permissions] VARCHAR(255) DEFAULT '', " + "[info] TEXT" + ")"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка создания таблицы Пользователи.", false, true); } sqlCommand = "INSERT INTO Users (" + "[name], [pass], [permissions], [info]) " + "VALUES ('Администратор', '', 'admin', '')"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка добавления данных в таблицу Пользователи.", false, true); } sqlCommand = "INSERT INTO Users (" + "[name], [pass], [permissions], [info]) " + "VALUES ('Оператор', '', 'operator', '')"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка добавления данных в таблицу Пользователи.", false, true); } sqlCommand = "INSERT INTO Users (" + "[name], [pass], [permissions], [info]) " + "VALUES ('Пользователь', '', 'user', '')"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка добавления данных в таблицу Пользователи.", false, true); } sqlCommand = "INSERT INTO Users (" + "[name], [pass], [permissions], [info]) " + "VALUES ('Гость', '', 'guest', '')"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка добавления данных в таблицу Пользователи.", false, true); } query.Dispose(); }
public void Dispose() { if (oleDbQuery != null) { oleDbQuery.Dispose(); } if (sqlQuery != null) { sqlQuery.Dispose(); } }
void moveFilesInRenameFolder() { if (DataConfig.typeConnection == DataConstants.CONNETION_LOCAL) { // OLEDB QueryOleDb query = new QueryOleDb(DataConfig.localDatabase); query.SetCommand("UPDATE Nomenclature SET parent='" + nameTextBox.Text + "' WHERE(parent = '" + folderName + "')"); query.Execute(); query.Dispose(); } else if (DataConfig.typeConnection == DataConstants.CONNETION_SERVER) { // MSSQL SERVER QuerySqlServer query = new QuerySqlServer(DataConfig.serverConnection); query.SetCommand("UPDATE Nomenclature SET parent='" + nameTextBox.Text + "' WHERE(parent = '" + folderName + "')"); query.Execute(); query.Dispose(); } }
bool tableConstants() { String sqlCommand; QuerySqlServer query; query = new QuerySqlServer(serverTextBox.Text); sqlCommand = "CREATE TABLE Constants (" + "[id] INT NOT NULL IDENTITY(1,1) PRIMARY KEY, " + "[name] VARCHAR(255) DEFAULT '', " + "[email] VARCHAR(255) DEFAULT '', " + "[emailPwd] VARCHAR(255) DEFAULT '', " + "[smtpServer] VARCHAR(255) DEFAULT '', " + "[port] VARCHAR(255) DEFAULT '', " + "[EnableSsl] INT DEFAULT 0, " + "[caption] VARCHAR(255) DEFAULT '', " + "[message] TEXT DEFAULT '', " + "[address] VARCHAR(255) DEFAULT '', " + "[vat] FLOAT DEFAULT 0, " + "[units] VARCHAR(255) DEFAULT '' " + ")"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка создания таблицы Константы.", false, true); return(false); } sqlCommand = "INSERT INTO Constants (" + "[name], [email], [emailPwd], [smtpServer], [port], [EnableSsl], [caption], [message], [address], [vat], [units]) " + "VALUES ('Наша Фирма', '*****@*****.**', '0000', 'smtp.gmail.com', '587', 1, 'Тема письма', 'Сообщение письма', 'Страна, Город, Улица, Дом', 20, 'шт.')"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка добавления данных в таблицу Константы.", false, true); return(false); } query.Dispose(); return(true); }
public void Dispose() { if (oleDbConnection != null) { if (oleDbDataReader != null) { oleDbDataReader.Close(); } oleDbConnection.Close(); oleDbCommand.Dispose(); oleDbConnection.Dispose(); } if (sqlConnection != null) { if (sqlDataReader != null) { sqlDataReader.Close(); } sqlConnection.Close(); sqlCommand.Dispose(); sqlConnection.Dispose(); } if (oleDb != null) { oleDb.Dispose(); } if (oleDbQuery != null) { oleDbQuery.Dispose(); } if (sqlServer != null) { sqlServer.Dispose(); } if (sqlQuery != null) { sqlQuery.Dispose(); } }
void deleteFolder() { if (listView1.SelectedIndices.Count > 0) { if (listView1.Items[listView1.SelectedIndices[0]].SubItems[2].Text.ToString() == "Папка" && listView1.Items[listView1.SelectedIndices[0]].SubItems[1].Text.ToString() != ".." && listView1.SelectedItems[0].StateImageIndex == 0) { String folderID = listView1.Items[listView1.SelectedIndices[0]].SubItems[3].Text.ToString(); String folderName = listView1.Items[listView1.SelectedIndices[0]].SubItems[1].Text.ToString(); if (MessageBox.Show("Удалить безвозвратно папку '" + folderName + "' и всё её содержимое ?", "Вопрос:", MessageBoxButtons.YesNo) == DialogResult.Yes) { if (DataConfig.typeConnection == DataConstants.CONNETION_LOCAL) { // OLEDB QueryOleDb query = new QueryOleDb(DataConfig.localDatabase); query = new QueryOleDb(DataConfig.localDatabase); query.SetCommand("DELETE FROM Nomenclature WHERE (parent ='" + folderName + "')"); if (query.Execute()) { query = new QueryOleDb(DataConfig.localDatabase); query.SetCommand("DELETE FROM Nomenclature WHERE (id = " + folderID + ")"); if (query.Execute()) { DataForms.FClient.updateHistory("Nomenclature"); query.Dispose(); Utilits.Console.Log("Удаление папки '" + folderName + "' прошло успешно."); } else { query.Dispose(); Utilits.Console.Log("Папку '" + folderName + "' не удалось удалить!", false, true); } } else { query.Dispose(); Utilits.Console.Log("[ОШИБКА] Ошибка удаления файлов в папке '" + folderName + "'", false, true); } } else if (DataConfig.typeConnection == DataConstants.CONNETION_SERVER) { // MSSQL SERVER QuerySqlServer query = new QuerySqlServer(DataConfig.serverConnection); query = new QuerySqlServer(DataConfig.serverConnection); query.SetCommand("DELETE FROM Nomenclature WHERE (parent ='" + folderName + "')"); if (query.Execute()) { query = new QuerySqlServer(DataConfig.serverConnection); query.SetCommand("DELETE FROM Nomenclature WHERE (id = " + folderID + ")"); if (query.Execute()) { DataForms.FClient.updateHistory("Nomenclature"); query.Dispose(); Utilits.Console.Log("Удаление папки '" + folderName + "' прошло успешно."); } else { query.Dispose(); Utilits.Console.Log("Папку '" + folderName + "' не удалось удалить!", false, true); } } else { query.Dispose(); Utilits.Console.Log("[ОШИБКА] Ошибка удаления файлов в папке '" + folderName + "'", false, true); } } } } } }
void deleteFolder() { if (listView1.SelectedIndices.Count > 0) { if (listView1.Items[listView1.SelectedIndices[0]].SubItems[2].Text.ToString() == "Папка" && listView1.Items[listView1.SelectedIndices[0]].SubItems[1].Text.ToString() != ".." && listView1.SelectedItems[0].StateImageIndex == 0) { String folderID = listView1.Items[listView1.SelectedIndices[0]].SubItems[3].Text.ToString(); String folderName = listView1.Items[listView1.SelectedIndices[0]].SubItems[1].Text.ToString(); if (MessageBox.Show("Удалить безвозвратно папку '" + folderName + "' и всё её содержимое ?", "Вопрос:", MessageBoxButtons.YesNo) == DialogResult.Yes) { if (DataConfig.typeConnection == DataConstants.CONNETION_LOCAL) { // OLEDB QueryOleDb query = new QueryOleDb(DataConfig.localDatabase); oleDb = new OleDb(DataConfig.localDatabase); oleDb.oleDbCommandSelect.CommandText = "SELECT * FROM Counteragents WHERE(parent = '" + folderName + "')"; if (oleDb.ExecuteFill("Counteragents")) { foreach (DataRow row in oleDb.dataSet.Tables[0].Rows) { query.SetCommand("DROP TABLE " + row["excel_table_id"].ToString()); if (query.Execute()) { Utilits.Console.Log("Прайс лист '" + row["excel_table_id"].ToString() + "' успешно удалён."); } else { Utilits.Console.Log("[ОШИБКА] Прайс лист '" + row["excel_table_id"].ToString() + "' не удалось удалить!", false, true); } } query = new QueryOleDb(DataConfig.localDatabase); query.SetCommand("DELETE FROM Counteragents WHERE (parent ='" + folderName + "')"); if (query.Execute()) { query = new QueryOleDb(DataConfig.localDatabase); query.SetCommand("DELETE FROM Counteragents WHERE (id = " + folderID + ")"); if (query.Execute()) { DataForms.FClient.updateHistory("Counteragents"); query.Dispose(); Utilits.Console.Log("Удаление папки '" + folderName + "' прошло успешно."); } else { query.Dispose(); Utilits.Console.Log("Папку '" + folderName + "' не удалось удалить!", false, true); } } else { query.Dispose(); Utilits.Console.Log("[ОШИБКА] Ошибка удаления файлов в папке '" + folderName + "'", false, true); } } } else if (DataConfig.typeConnection == DataConstants.CONNETION_SERVER) { // MSSQL SERVER QuerySqlServer query = new QuerySqlServer(DataConfig.serverConnection); sqlServer = new SqlServer(); sqlServer.sqlCommandSelect.CommandText = "SELECT * FROM Counteragents WHERE(parent = '" + folderName + "')"; if (sqlServer.ExecuteFill("Counteragents")) { foreach (DataRow row in sqlServer.dataSet.Tables[0].Rows) { query.SetCommand("DROP TABLE " + row["excel_table_id"].ToString()); if (query.Execute()) { Utilits.Console.Log("Прайс лист '" + row["excel_table_id"].ToString() + "' успешно удалён."); } else { Utilits.Console.Log("[ОШИБКА] Прайс лист '" + row["excel_table_id"].ToString() + "' не удалось удалить!", false, true); } } query = new QuerySqlServer(DataConfig.serverConnection); query.SetCommand("DELETE FROM Counteragents WHERE (parent ='" + folderName + "')"); if (query.Execute()) { query = new QuerySqlServer(DataConfig.serverConnection); query.SetCommand("DELETE FROM Counteragents WHERE (id = " + folderID + ")"); if (query.Execute()) { DataForms.FClient.updateHistory("Counteragents"); query.Dispose(); Utilits.Console.Log("Удаление папки '" + folderName + "' прошло успешно."); } else { query.Dispose(); Utilits.Console.Log("Папку '" + folderName + "' не удалось удалить!", false, true); } } else { query.Dispose(); Utilits.Console.Log("[ОШИБКА] Ошибка удаления файлов в папке '" + folderName + "'", false, true); } } } } } } }
void createOrdersSqlServer() { Double sum = 0; Double amount = 0; Double price = 0; Double vat = 0; Double total = 0; SqlServer sqlServer = null; QuerySqlServer sqlQuery = null; OrderDoc orderDoc; try{ sqlServer = new SqlServer(); foreach (Price plist in priceList) // Обход прайсов { sum = 0; amount = 0; price = 0; vat = 0; total = 0; /* Создание основной информации документа заказ */ orderDoc = new OrderDoc(); orderDoc.docDate = DateTime.Today.Date; orderDoc.docNumber = createDocNumber(); orderDoc.docName = "Заказ"; orderDoc.docCounteragent = plist.counteragentName; orderDoc.docAutor = DataConfig.userName; orderDoc.docSum = 0; orderDoc.docVat = 0; orderDoc.docTotal = 0; orderDoc.docPurchasePlan = docPPNumber; sqlServer = new SqlServer(); sqlServer.sqlCommandSelect.CommandText = "SELECT " + "id, nomenclatureID, nomenclatureName, units, amount, " + "name, price, manufacturer, remainder, term, discount1, discount2, discount3, discount4, code, series, article, " + "counteragentName, counteragentPricelist, " + "docPurchasePlan, docOrder " + "FROM OrderNomenclature WHERE (docPurchasePlan = '" + docPPNumber + "' AND counteragentName = '" + plist.counteragentName + "')"; sqlServer.sqlCommandUpdate.CommandText = "UPDATE OrderNomenclature SET " + "nomenclatureID = @nomenclatureID, nomenclatureName = @nomenclatureName, units = @units, amount = @amount, " + "name = @name, price = @price, manufacturer = @manufacturer, remainder = @remainder, term = @term, " + "discount1 = @discount1, discount2 = @discount2, discount3 = @discount3, discount4 = @discount4, " + "code = @code, series = @series, article = @article, " + "counteragentName = @counteragentName, counteragentPricelist = @counteragentPricelist, " + "docPurchasePlan = @docPurchasePlan, docOrder = @docOrder " + "WHERE ([id] = @id)"; sqlServer.sqlCommandUpdate.Parameters.Add("@nomenclatureID", SqlDbType.Int, 10, "nomenclatureID"); sqlServer.sqlCommandUpdate.Parameters.Add("@nomenclatureName", SqlDbType.VarChar, 255, "nomenclatureName"); sqlServer.sqlCommandUpdate.Parameters.Add("@units", SqlDbType.VarChar, 255, "units"); sqlServer.sqlCommandUpdate.Parameters.Add("@amount", SqlDbType.Float, 15, "amount"); sqlServer.sqlCommandUpdate.Parameters.Add("@name", SqlDbType.VarChar, 255, "name"); sqlServer.sqlCommandUpdate.Parameters.Add("@price", SqlDbType.Float, 15, "price"); sqlServer.sqlCommandUpdate.Parameters.Add("@manufacturer", SqlDbType.VarChar, 255, "manufacturer"); sqlServer.sqlCommandUpdate.Parameters.Add("@remainder", SqlDbType.Float, 15, "remainder"); sqlServer.sqlCommandUpdate.Parameters.Add("@term", SqlDbType.Date, 15, "term"); sqlServer.sqlCommandUpdate.Parameters.Add("@discount1", SqlDbType.Float, 15, "discount1"); sqlServer.sqlCommandUpdate.Parameters.Add("@discount2", SqlDbType.Float, 15, "discount2"); sqlServer.sqlCommandUpdate.Parameters.Add("@discount3", SqlDbType.Float, 15, "discount3"); sqlServer.sqlCommandUpdate.Parameters.Add("@discount4", SqlDbType.Float, 15, "discount4"); sqlServer.sqlCommandUpdate.Parameters.Add("@code", SqlDbType.VarChar, 255, "code"); sqlServer.sqlCommandUpdate.Parameters.Add("@series", SqlDbType.VarChar, 255, "series"); sqlServer.sqlCommandUpdate.Parameters.Add("@article", SqlDbType.VarChar, 255, "article"); sqlServer.sqlCommandUpdate.Parameters.Add("@counteragentName", SqlDbType.VarChar, 255, "counteragentName"); sqlServer.sqlCommandUpdate.Parameters.Add("@counteragentPricelist", SqlDbType.VarChar, 255, "counteragentPricelist"); sqlServer.sqlCommandUpdate.Parameters.Add("@docPurchasePlan", SqlDbType.VarChar, 255, "docPurchasePlan"); sqlServer.sqlCommandUpdate.Parameters.Add("@docOrder", SqlDbType.VarChar, 255, "docOrder"); sqlServer.sqlCommandUpdate.Parameters.Add("@id", SqlDbType.Int, 10, "id"); if (sqlServer.ExecuteFill("OrderNomenclature")) // получаем перечень номенклатуры ПЗ { if (sqlServer.dataSet.Tables["OrderNomenclature"].Rows.Count <= 0) { continue; // пропускаем (нет номенклатуры по данному контрагенту) } foreach (DataRow row in sqlServer.dataSet.Tables["OrderNomenclature"].Rows) { /* Привязываем к документу */ row["docOrder"] = orderDoc.docNumber; /* Вычисления */ price = (Double)row["price"]; amount = (Double)row["amount"]; sum += (price * amount); } /* Итоги вычислений */ sum = Math.Round(sum, 2); vat = sum * DataConstants.ConstFirmVAT / 100; vat = Math.Round(vat, 2); total = sum + vat; total = Math.Round(total, 2); orderDoc.docSum = sum; orderDoc.docVat = vat; orderDoc.docTotal = total; /* Создаём новый заказ */ sqlQuery = new QuerySqlServer(DataConfig.serverConnection); sqlQuery.SetCommand("INSERT INTO Orders " + "(docDate, docNumber, docName, docCounteragent, " + "docAutor, docSum, docVat, docTotal, docPurchasePlan) " + "VALUES ('" + orderDoc.docDate + "', " + "'" + orderDoc.docNumber + "', " + "'" + orderDoc.docName + "', " + "'" + orderDoc.docCounteragent + "', " + "'" + orderDoc.docAutor + "', " + "" + Conversion.DoubleToString(orderDoc.docSum) + ", " + "" + Conversion.DoubleToString(orderDoc.docVat) + ", " + "" + Conversion.DoubleToString(orderDoc.docTotal) + ", " + "'" + orderDoc.docPurchasePlan + "')"); if (sqlQuery.Execute()) { /* Обновляем журнал Заказов */ DataForms.FClient.updateHistory("Orders"); Utilits.Console.Log("Ввод на основании: создан Заказ №" + orderDoc.docNumber + " для План закупок №" + docPPNumber); /* Обновление номенклатуры ПЗ (добавляем номер документа Заказ) */ if (sqlServer.ExecuteUpdate("OrderNomenclature")) { Utilits.Console.Log("Ввод на основании: План заказов №" + docPPNumber + " обновлён."); } else { if (sqlServer != null) { sqlServer.Dispose(); } if (sqlQuery != null) { sqlQuery.Dispose(); } Utilits.Console.Log("[ОШИБКА] Ввод на основании: План закупок №" + docPPNumber + " не удалось одновить! Заказ №" + orderDoc.docNumber, false, true); MessageBox.Show("Не удалось обновить План закупок №" + docPPNumber + " Создание заказов прервано!", "Сообщение"); return; } } else { if (sqlServer != null) { sqlServer.Dispose(); } if (sqlQuery != null) { sqlQuery.Dispose(); } Utilits.Console.Log("[ОШИБКА] Ввод на основании: Не удалось создать Заказ для План закупок №" + docPPNumber, false, true); MessageBox.Show("Не удалось создать Заказ для План закупок №" + docPPNumber, "Сообщение"); return; } } else { if (sqlServer != null) { sqlServer.Dispose(); } if (sqlQuery != null) { sqlQuery.Dispose(); } Utilits.Console.Log("[ОШИБКА] Ввод на основании: Не удалось загрузить перечень номенклатуры из документа" + docPPNumber, false, true); MessageBox.Show("Не удалось загрузить перечень номенклатуры из документа" + docPPNumber + "" + Environment.NewLine + "Создание Заказов на основании Плана закупок невозможно!", "Сообщение"); return; } } }catch (Exception ex) { if (sqlServer != null) { sqlServer.Dispose(); } if (sqlQuery != null) { sqlQuery.Dispose(); } Utilits.Console.Log("[ОШИБКА] Ввод на основании: " + ex.Message, false, true); } if (sqlServer != null) { sqlServer.Dispose(); } if (sqlQuery != null) { sqlQuery.Dispose(); } MessageBox.Show("План закупок №" + docPPNumber + " был успешно обработан!" + Environment.NewLine + "Заказы созданы в соответствии с выбранными прайс-листами и номенклатурой! ", "Сообщение"); }