/* ========================================================================================= * Создание таблиц в базе данных * ========================================================================================= */ 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(); }
bool tableNomenclature() { String sqlCommand; QuerySqlServer query; query = new QuerySqlServer(serverTextBox.Text); sqlCommand = "CREATE TABLE Nomenclature (" + "[id] INT NOT NULL IDENTITY(1,1) PRIMARY KEY, " + "[type] VARCHAR(255) DEFAULT '', " + "[name] VARCHAR(255) DEFAULT '', " + "[code] VARCHAR(255) DEFAULT '', " + "[series] VARCHAR(255) DEFAULT '', " + "[article] VARCHAR(255) DEFAULT '', " + "[manufacturer] VARCHAR(255) DEFAULT '', " + "[price] FLOAT DEFAULT 0, " + "[units] VARCHAR(255) DEFAULT '', " + "[parent] VARCHAR(255) DEFAULT ''" + ")"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка создания таблицы Номенклатура.", false, true); return(false); } return(true); }
void deleteOrdersSqlServer() { QuerySqlServer query; query = new QuerySqlServer(DataConfig.serverConnection); query.SetCommand("UPDATE OrderNomenclature SET docOrder = '' WHERE (docPurchasePlan = '" + docPPNumber + "')"); if (query.Execute()) { query = new QuerySqlServer(DataConfig.serverConnection); query.SetCommand("DELETE FROM Orders WHERE (docPurchasePlan = '" + docPPNumber + "')"); if (query.Execute()) { DataForms.FClient.updateHistory("Orders"); Utilits.Console.Log("Ввод на основании: старые заказы удалены."); } else { Utilits.Console.Log("[ОШИБКА] Ввод на основании: старый заказ не удалён!", false, true); } } else { Utilits.Console.Log("[ОШИБКА] Ввод на основании: Документ План закупок №" + docPPNumber + " не удалось обновить при удалении старых заказов!", false, true); } }
bool tableOrders() // Документ: Заказ { String sqlCommand; QuerySqlServer query; query = new QuerySqlServer(serverTextBox.Text); sqlCommand = "CREATE TABLE Orders (" + "[id] INT NOT NULL IDENTITY(1,1) PRIMARY KEY, " + "[docDate] DATETIME, " + "[docNumber] VARCHAR(255) DEFAULT '' UNIQUE, " + "[docName] VARCHAR(255) DEFAULT '', " + "[docCounteragent] VARCHAR(255) DEFAULT '', " + "[docAutor] VARCHAR(255) DEFAULT '', " + "[docSum] FLOAT DEFAULT 0, " + "[docVat] FLOAT DEFAULT 0, " + "[docTotal] FLOAT DEFAULT 0, " + "[docPurchasePlan] VARCHAR(255) DEFAULT ''" + ")"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка создания таблицы Заказы.", false, true); return(false); } return(true); }
public void save() { String sqlCommand; if (DataConfig.typeConnection == DataConstants.CONNETION_LOCAL) { // OLEDB sqlCommand = "UPDATE Constants SET " + "[name] = '" + DataConstants.ConstFirmName + "', " + "[email] = '" + DataConstants.ConstFirmEmail + "', " + "[emailPwd] = '" + DataConstants.ConstFirmPwd + "', " + "[smtpServer] = '" + DataConstants.ConstFirmSmtp + "', " + "[port] = '" + DataConstants.ConstFirmPort + "', " + "[EnableSsl] = " + Convert.ToInt32(DataConstants.ConstFirmEnableSsl).ToString() + ", " + "[caption] = '" + DataConstants.ConstFirmCaption + "', " + "[message] = '" + DataConstants.ConstFirmMessage + "', " + "[address] = '" + DataConstants.ConstFirmAddress + "', " + "[vat] = " + DataConstants.ConstFirmVAT.ToString() + ", " + "[units] = '" + DataConstants.ConstFirmUnits + "' " + "WHERE (id = 1)"; oleDbQuery.SetCommand(sqlCommand); if (!oleDbQuery.Execute()) { Utilits.Console.Log("[ОШИБКА] Не удалось сохранить константы.", false, true); } else { Utilits.Console.Log("Константы успешно сохранены."); } } else if (DataConfig.typeConnection == DataConstants.CONNETION_SERVER) { // MSSQL SERVER sqlCommand = "UPDATE Constants SET " + "[name] = '" + DataConstants.ConstFirmName + "', " + "[email] = '" + DataConstants.ConstFirmEmail + "', " + "[emailPwd] = '" + DataConstants.ConstFirmPwd + "', " + "[smtpServer] = '" + DataConstants.ConstFirmSmtp + "', " + "[port] = '" + DataConstants.ConstFirmPort + "', " + "[EnableSsl] = " + Convert.ToInt32(DataConstants.ConstFirmEnableSsl).ToString() + ", " + "[caption] = '" + DataConstants.ConstFirmCaption + "', " + "[message] = '" + DataConstants.ConstFirmMessage + "', " + "[address] = '" + DataConstants.ConstFirmAddress + "', " + "[vat] = " + DataConstants.ConstFirmVAT.ToString() + ", " + "[units] = '" + DataConstants.ConstFirmUnits + "' " + "WHERE (id = 1)"; sqlQuery.SetCommand(sqlCommand); if (!sqlQuery.Execute()) { Utilits.Console.Log("[ОШИБКА] Не удалось сохранить константы.", false, true); } else { Utilits.Console.Log("Константы успешно сохранены."); } } }
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); }
void deleteFile() { 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 == 1) { String fileID = listView1.Items[listView1.SelectedIndices[0]].SubItems[3].Text.ToString(); String fileName = listView1.Items[listView1.SelectedIndices[0]].SubItems[1].Text.ToString(); if (MessageBox.Show("Удалить безвозвратно '" + fileName + "'?", "Вопрос:", MessageBoxButtons.YesNo) == DialogResult.Yes) { if (DataConfig.typeConnection == DataConstants.CONNETION_LOCAL) { // OLEDB QueryOleDb query = new QueryOleDb(DataConfig.localDatabase); query.SetCommand("DELETE FROM Nomenclature WHERE (id = " + fileID + ")"); if (query.Execute()) { DataForms.FClient.updateHistory("Nomenclature"); Utilits.Console.Log("Номенклатура '" + fileName + "' успешно удалена."); } else { Utilits.Console.Log("[ОШИБКА] Номенклатура '" + fileName + "' не удалось удалить!"); } } else if (DataConfig.typeConnection == DataConstants.CONNETION_SERVER) { // MSSQL SERVER QuerySqlServer query = new QuerySqlServer(DataConfig.serverConnection); query.SetCommand("DELETE FROM Nomenclature WHERE (id = " + fileID + ")"); if (query.Execute()) { Utilits.Console.Log("Номенклатура '" + fileName + "' успешно удалена."); DataForms.FClient.updateHistory("Nomenclature"); } else { Utilits.Console.Log("[ОШИБКА] Номенклатура '" + fileName + "' не удалось удалить!"); } } } } } }
bool tableCounteragents() { String sqlCommand; QuerySqlServer query; query = new QuerySqlServer(serverTextBox.Text); sqlCommand = "CREATE TABLE Counteragents (" + "[id] INT NOT NULL IDENTITY(1,1) PRIMARY KEY, " + "[type] VARCHAR(255) DEFAULT '', " + "[name] VARCHAR(255) DEFAULT '' UNIQUE, " + "[organization_address] VARCHAR(255) DEFAULT '', " + "[organization_phone] VARCHAR(255) DEFAULT '', " + "[organization_site] VARCHAR(255) DEFAULT '', " + "[organization_email] VARCHAR(255) DEFAULT '', " + "[contact_fullname] VARCHAR(255) DEFAULT '', " + "[contact_post] VARCHAR(255) DEFAULT '', " + "[contact_phone] VARCHAR(255) DEFAULT '', " + "[contact_skype] VARCHAR(255) DEFAULT '', " + "[contact_email] VARCHAR(255) DEFAULT '', " + "[information] TEXT DEFAULT '', " + "[excel_filename] TEXT DEFAULT '', " + "[excel_date] VARCHAR(255) DEFAULT '', " + "[excel_column_name] INT DEFAULT 0, " + "[excel_column_code] INT DEFAULT 0, " + "[excel_column_series] INT DEFAULT 0, " + "[excel_column_article] INT DEFAULT 0, " + "[excel_column_remainder] INT DEFAULT 0, " + "[excel_column_manufacturer] INT DEFAULT 0, " + "[excel_column_price] INT DEFAULT 0, " + "[excel_column_discount_1] INT DEFAULT 0, " + "[excel_column_discount_2] INT DEFAULT 0, " + "[excel_column_discount_3] INT DEFAULT 0, " + "[excel_column_discount_4] INT DEFAULT 0, " + "[excel_column_term] INT DEFAULT 0, " + "[excel_table_id] VARCHAR(255) DEFAULT '', " + "[parent] VARCHAR(255) DEFAULT ''" + ")"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка создания таблицы Контрагенты.", false, true); return(false); } return(true); }
void tablePurchasePlanPriceLists() { String sqlCommand; QuerySqlServer query; query = new QuerySqlServer(connectionString); sqlCommand = "CREATE TABLE PurchasePlanPriceLists (" + "[id] INT NOT NULL IDENTITY(1,1) PRIMARY KEY, " + "[counteragentName] VARCHAR(255) DEFAULT '', " + "[counteragentPricelist] VARCHAR(255) DEFAULT '', " + "[docID] VARCHAR(255) DEFAULT '' " + ")"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка создания таблицы План закупок.", false, true); } }
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 tableOrderNomenclature() { String sqlCommand; QuerySqlServer query; query = new QuerySqlServer(serverTextBox.Text); sqlCommand = "CREATE TABLE OrderNomenclature (" + "[id] INT NOT NULL IDENTITY(1,1) PRIMARY KEY, " + "[nomenclatureID] INT DEFAULT 0, " + "[nomenclatureName] VARCHAR(255) DEFAULT '', " + "[units] VARCHAR(255) DEFAULT '', " + "[amount] FLOAT DEFAULT 0, " + "[name] VARCHAR(255) DEFAULT '', " + "[price] FLOAT DEFAULT 0, " + "[manufacturer] VARCHAR(255) DEFAULT '', " + "[remainder] FLOAT DEFAULT 0, " + "[term] DATETIME, " + "[discount1] FLOAT DEFAULT 0, " + "[discount2] FLOAT DEFAULT 0, " + "[discount3] FLOAT DEFAULT 0, " + "[discount4] FLOAT DEFAULT 0, " + "[code] VARCHAR(255) DEFAULT '', " + "[series] VARCHAR(255) DEFAULT '', " + "[article] VARCHAR(255) DEFAULT '', " + "[counteragentName] VARCHAR(255) DEFAULT '', " + "[counteragentPricelist] VARCHAR(255) DEFAULT '', " + "[docPurchasePlan] VARCHAR(255) DEFAULT '', " + "[docOrder] VARCHAR(255) DEFAULT '' " + ")"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка создания таблицы Заказ номенклатуры.", false, true); return(false); } return(true); }
void tablePurchasePlan() // Документ: План закупок { String sqlCommand; QuerySqlServer query; query = new QuerySqlServer(connectionString); sqlCommand = "CREATE TABLE PurchasePlan (" + "[id] INT NOT NULL IDENTITY(1,1) PRIMARY KEY, " + "[docDate] DATETIME, " + "[docNumber] VARCHAR(255) DEFAULT '' UNIQUE, " + "[docName] VARCHAR(255) DEFAULT '', " + "[docAutor] VARCHAR(255) DEFAULT '', " + "[docSum] FLOAT DEFAULT 0, " + "[docVat] FLOAT DEFAULT 0, " + "[docTotal] FLOAT DEFAULT 0" + ")"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка создания таблицы План закупок.", 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); 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 deleteFile() { if (listView1.SelectedIndices.Count > 0) { String docID = listView1.Items[listView1.SelectedIndices[0]].SubItems[10].Text; String docNumber = listView1.Items[listView1.SelectedIndices[0]].SubItems[2].Text; String docPurchasePlan = listView1.Items[listView1.SelectedIndices[0]].SubItems[9].Text; if (docPurchasePlan != "") { if (MessageBox.Show("Удалить документ Заказ №" + docNumber + Environment.NewLine + "который связан с докуметном План закупок №" + docPurchasePlan + " ?", "Вопрос:", MessageBoxButtons.YesNo) == DialogResult.No) { return; } } else { if (MessageBox.Show("Удалить документ Заказ №" + docNumber + Environment.NewLine + "который не связан с докуметном план закупок ?", "Вопрос:", MessageBoxButtons.YesNo) == DialogResult.No) { return; } } if (DataConfig.typeConnection == DataConstants.CONNETION_LOCAL) { // OLEDB QueryOleDb query; query = new QueryOleDb(DataConfig.localDatabase); query.SetCommand("UPDATE OrderNomenclature SET docOrder = '' WHERE (docOrder = '" + docNumber + "')"); if (query.Execute()) { query = new QueryOleDb(DataConfig.localDatabase); query.SetCommand("DELETE FROM Orders WHERE (id = " + docID + ")"); if (query.Execute()) { DataForms.FClient.updateHistory("Orders"); Utilits.Console.Log("Документ Заказ №" + docNumber + " успешно удален."); } else { Utilits.Console.Log("[ОШИБКА] Документ Заказ №" + docNumber + " не удалось удалить!", false, true); } } else { Utilits.Console.Log("[ОШИБКА] Документ План закупок №" + docPurchasePlan + " не удалось обновить!", false, true); } } else if (DataConfig.typeConnection == DataConstants.CONNETION_SERVER) { // MSSQL SERVER QuerySqlServer query; query = new QuerySqlServer(DataConfig.serverConnection); query.SetCommand("UPDATE OrderNomenclature SET docOrder = '' WHERE (docOrder = '" + docNumber + "')"); if (query.Execute()) { query = new QuerySqlServer(DataConfig.serverConnection); query.SetCommand("DELETE FROM Orders WHERE (id = " + docID + ")"); if (query.Execute()) { DataForms.FClient.updateHistory("Orders"); Utilits.Console.Log("Документ Заказ №" + docNumber + " успешно удален."); } else { Utilits.Console.Log("[ОШИБКА] Документ Заказ №" + docNumber + " не удалось удалить!", false, true); } } else { Utilits.Console.Log("[ОШИБКА] Документ План закупок №" + docPurchasePlan + " не удалось обновить!", 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 + "Заказы созданы в соответствии с выбранными прайс-листами и номенклатурой! ", "Сообщение"); }
void deleteFile() { 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 == 1) { String fileID = listView1.Items[listView1.SelectedIndices[0]].SubItems[3].Text.ToString(); String fileName = listView1.Items[listView1.SelectedIndices[0]].SubItems[1].Text.ToString(); String priceName = listView1.Items[listView1.SelectedIndices[0]].SubItems[4].Text.ToString(); if (MessageBox.Show("Удалить безвозвратно контрагента '" + fileName + "'" + Environment.NewLine + "и его прайс '" + priceName + "' ?", "Вопрос:", MessageBoxButtons.YesNo) == DialogResult.Yes) { if (DataConfig.typeConnection == DataConstants.CONNETION_LOCAL) { // OLEDB QueryOleDb query = new QueryOleDb(DataConfig.localDatabase); query.SetCommand("DELETE FROM Counteragents WHERE (id = " + fileID + ")"); if (query.Execute()) { if (priceName != "") { query = new QueryOleDb(DataConfig.localDatabase); query.SetCommand("DROP TABLE " + priceName); if (query.Execute()) { Utilits.Console.Log("Контрагент '" + fileName + "' успешно удалён. Прайс '" + priceName + "' успешно удалён."); } else { Utilits.Console.Log("[ПРЕДУПРЕЖДЕНИЕ] Прайс '" + priceName + "' не удалось удалить!"); } } DataForms.FClient.updateHistory("Counteragents"); } else { Utilits.Console.Log("[ОШИБКА] Контрагент '" + fileName + "' не удалось удалить!"); } } else if (DataConfig.typeConnection == DataConstants.CONNETION_SERVER) { // MSSQL SERVER QuerySqlServer query = new QuerySqlServer(DataConfig.serverConnection); query.SetCommand("DELETE FROM Counteragents WHERE (id = " + fileID + ")"); if (query.Execute()) { if (priceName != "") { query = new QuerySqlServer(DataConfig.serverConnection); query.SetCommand("DROP TABLE " + priceName); if (query.Execute()) { Utilits.Console.Log("Контрагент '" + fileName + "' успешно удалён. Прайс '" + priceName + "' успешно удалён."); } else { Utilits.Console.Log("[ПРЕДУПРЕЖДЕНИЕ] Прайс '" + priceName + "' не удалось удалить!"); } } DataForms.FClient.updateHistory("Counteragents"); } else { Utilits.Console.Log("[ОШИБКА] Контрагент '" + fileName + "' не удалось удалить!"); } } } } } }
bool tableUnits() { String sqlCommand; QuerySqlServer query; query = new QuerySqlServer(serverTextBox.Text); sqlCommand = "CREATE TABLE Units (" + "[id] INT NOT NULL IDENTITY(1,1) PRIMARY KEY, " + "[name] VARCHAR(255) DEFAULT '' UNIQUE, " + "[info] TEXT" + ")"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка создания таблицы Единицы измерения.", false, true); return(false); } sqlCommand = "INSERT INTO Units (" + "[name], [info]) " + "VALUES ('г.', 'Граммы.')"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка добавления данных в таблицу Единицы измерения.", false, true); return(false); } sqlCommand = "INSERT INTO Units (" + "[name], [info]) " + "VALUES ('кг.', 'Килограммы.')"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка добавления данных в таблицу Единицы измерения.", false, true); return(false); } sqlCommand = "INSERT INTO Units (" + "[name], [info]) " + "VALUES ('л.', 'Литры.')"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка добавления данных в таблицу Единицы измерения.", false, true); return(false); } sqlCommand = "INSERT INTO Units (" + "[name], [info]) " + "VALUES ('м.', 'Метры.')"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка добавления данных в таблицу Единицы измерения.", false, true); return(false); } sqlCommand = "INSERT INTO Units (" + "[name], [info]) " + "VALUES ('см.', 'Сантиметры.')"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка добавления данных в таблицу Единицы измерения.", false, true); return(false); } sqlCommand = "INSERT INTO Units (" + "[name], [info]) " + "VALUES ('шт.', 'Штуки.')"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка добавления данных в таблицу Единицы измерения.", false, true); return(false); } sqlCommand = "INSERT INTO Units (" + "[name], [info]) " + "VALUES ('уп.', 'Упаковки.')"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка добавления данных в таблицу Единицы измерения.", false, true); return(false); } sqlCommand = "INSERT INTO Units (" + "[name], [info]) " + "VALUES ('ящ.', 'Ящики.')"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка добавления данных в таблицу Единицы измерения.", false, true); return(false); } return(true); }
bool tableHistory() { String sqlCommand; QuerySqlServer query; query = new QuerySqlServer(serverTextBox.Text); sqlCommand = "CREATE TABLE History (" + "[id] INT NOT NULL IDENTITY(1,1) PRIMARY KEY, " + "[name] VARCHAR(255) DEFAULT '' UNIQUE, " + "[represent] VARCHAR(255) DEFAULT '', " + "[datetime] VARCHAR(255) DEFAULT '', " + "[error] VARCHAR(255) DEFAULT '', " + "[user] VARCHAR(255) DEFAULT ''" + ")"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка создания таблицы История.", false, true); return(false); } sqlCommand = "INSERT INTO History (" + "[name], [represent], [datetime], [error], [user]) " + "VALUES ('Users', 'Пользователи', '" + DateTime.Now.ToString() + "', '', '" + DataConfig.userName + "')"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка добавления данных в таблицу История.", false, true); return(false); } sqlCommand = "INSERT INTO History (" + "[name], [represent], [datetime], [error], [user]) " + "VALUES ('Counteragents', 'Контрагенты', '" + DateTime.Now.ToString() + "', '', '" + DataConfig.userName + "')"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка добавления данных в таблицу История.", false, true); return(false); } sqlCommand = "INSERT INTO History (" + "[name], [represent], [datetime], [error], [user]) " + "VALUES ('Nomenclature', 'Номенклатура', '" + DateTime.Now.ToString() + "', '', '" + DataConfig.userName + "')"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка добавления данных в таблицу История.", false, true); return(false); } sqlCommand = "INSERT INTO History (" + "[name], [represent], [datetime], [error], [user]) " + "VALUES ('Units', 'Единицы измерения', '" + DateTime.Now.ToString() + "', '', '" + DataConfig.userName + "')"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка добавления данных в таблицу История.", false, true); return(false); } sqlCommand = "INSERT INTO History (" + "[name], [represent], [datetime], [error], [user]) " + "VALUES ('PurchasePlan', 'План закупок', '" + DateTime.Now.ToString() + "', '', '" + DataConfig.userName + "')"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка добавления данных в таблицу История.", false, true); return(false); } sqlCommand = "INSERT INTO History (" + "[name], [represent], [datetime], [error], [user]) " + "VALUES ('Orders', 'Заказы', '" + DateTime.Now.ToString() + "', '', '" + DataConfig.userName + "')"; query.SetCommand(sqlCommand); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] ошибка добавления данных в таблицу История.", false, true); return(false); } return(true); }
void deleteFile() { if (listView1.SelectedIndices.Count > 0) { String docID = listView1.Items[listView1.SelectedIndices[0]].SubItems[8].Text; String docName = listView1.Items[listView1.SelectedIndices[0]].SubItems[2].Text; if (MessageBox.Show("Удалить документ План закупок №" + docName + Environment.NewLine + " и связанные с ним Заказы ?", "Вопрос:", MessageBoxButtons.YesNo) == DialogResult.Yes) { if (DataConfig.typeConnection == DataConstants.CONNETION_LOCAL) { // OLEDB QueryOleDb query; query = new QueryOleDb(DataConfig.localDatabase); query.SetCommand("DELETE FROM Orders WHERE (docPurchasePlan = '" + docName + "')"); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] Не удалось удалить заказы привязанные к Плану закупок №" + docName, false, true); return; } query = new QueryOleDb(DataConfig.localDatabase); query.SetCommand("DELETE FROM OrderNomenclature WHERE (docPurchasePlan = '" + docName + "')"); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] Документ план закупок №" + docName + " не удалось удалить перечень номенклатуры!", false, true); return; } query = new QueryOleDb(DataConfig.localDatabase); query.SetCommand("DELETE FROM PurchasePlanPriceLists WHERE (docID = '" + docName + "')"); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] Документ план закупок №" + docName + " не удалось удалить перечень прайс-листов!", false, true); return; } query = new QueryOleDb(DataConfig.localDatabase); query.SetCommand("DELETE FROM PurchasePlan WHERE (id = " + docID + ")"); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] Документ план закупок №" + docName + " не получилось удалить!", false, true); return; } Utilits.Console.Log("Документ план закупок №" + docName + " успешно удален."); DataForms.FClient.updateHistory("Orders"); DataForms.FClient.updateHistory("PurchasePlan"); } else if (DataConfig.typeConnection == DataConstants.CONNETION_SERVER) { // MSSQL SERVER QuerySqlServer query; query = new QuerySqlServer(DataConfig.serverConnection); query.SetCommand("DELETE FROM Orders WHERE (docPurchasePlan = '" + docName + "')"); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] Не удалось удалить заказы привязанные к Плану закупок №" + docName, false, true); return; } query = new QuerySqlServer(DataConfig.serverConnection); query.SetCommand("DELETE FROM OrderNomenclature WHERE (docPurchasePlan = '" + docName + "')"); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] Документ план закупок №" + docName + " не удалось удалить перечень номенклатуры!", false, true); return; } query = new QuerySqlServer(DataConfig.serverConnection); query.SetCommand("DELETE FROM PurchasePlanPriceLists WHERE (docID = '" + docName + "')"); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] Документ план закупок №" + docName + " не удалось удалить перечень прайс-листов!", false, true); return; } query = new QuerySqlServer(DataConfig.serverConnection); query.SetCommand("DELETE FROM PurchasePlan WHERE (id = " + docID + ")"); if (!query.Execute()) { Utilits.Console.Log("[ОШИБКА] Документ план закупок №" + docName + " не получилось удалить!", false, true); return; } Utilits.Console.Log("Документ план закупок №" + docName + " успешно удален."); DataForms.FClient.updateHistory("Orders"); DataForms.FClient.updateHistory("PurchasePlan"); } } } }
void ExecuteSqlServer() { OrderDoc orderDoc; String thisIsOrderUpdate; Double sum = 0; Double amount = 0; Double price = 0; Double vat = 0; Double total = 0; String report; report = "Процесс создания Заказов - запушен!"; try{ /* Обход прайсов */ foreach (Price pl 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 = pl.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 = '" + pl.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")) { thisIsOrderUpdate = orderMustBeUpdated(sqlServer.dataSet); foreach (DataRow row in sqlServer.dataSet.Tables["OrderNomenclature"].Rows) { /* Привязываем к документу */ if (thisIsOrderUpdate == "") { row["docOrder"] = orderDoc.docNumber; } else { row["docOrder"] = thisIsOrderUpdate; } /* Вычисления */ 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; if (thisIsOrderUpdate == "") // Создаём новый заказ /* Сохранение основных данных документа Заказ */ { 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()) { report += Environment.NewLine; report += "Документ Заказ №" + orderDoc.docNumber + " - создан!"; if (sqlServer.ExecuteUpdate("OrderNomenclature")) { report += Environment.NewLine; report += "Документ План закупок №" + docPPNumber + " - обновлён!"; } else { report += Environment.NewLine; report += "Документ План закупок №" + docPPNumber + " - ошибка обновления!"; } } else { report += Environment.NewLine; report += "Документ Заказ №" + orderDoc.docNumber + " - ошибка создания!"; } } else // Обновляем данные в заказе { if (sqlServer.ExecuteUpdate("OrderNomenclature")) { report += Environment.NewLine; report += "Документ План закупок №" + docPPNumber + " - обновлён!"; /* Перерасчет Заказа */ sqlQuery = new QuerySqlServer(DataConfig.serverConnection); sqlQuery.SetCommand("UPDATE Orders SET " + "docSum = " + Conversion.DoubleToString(orderDoc.docSum) + ", " + "docVat = " + Conversion.DoubleToString(orderDoc.docVat) + ", " + "docTotal = " + Conversion.DoubleToString(orderDoc.docTotal) + " " + "WHERE ([docNumber] = '" + thisIsOrderUpdate + "')"); if (sqlQuery.Execute()) { report += Environment.NewLine; report += "Документ Заказ №" + thisIsOrderUpdate + " - обновлён!"; } else { report += Environment.NewLine; report += "Документ Заказ №" + thisIsOrderUpdate + " - ошибка обновления!"; } } else { report += Environment.NewLine; report += "Документ План закупок №" + docPPNumber + " - ошибка обновления!"; } } } else { MessageBox.Show("Не удалось загрузить перечень номенклатуры из документа" + docPPNumber + "" + Environment.NewLine + "Создание Заказов на основании Плана закупок невозможно!", "Сообщение"); Dispose(); return; } } DataForms.FClient.updateHistory("Orders"); /* Отчёт о проделанной работе */ Dispose(); Utilits.Console.Log("[ВВОД НА ОСНОВАНИИ]" + Environment.NewLine + "Отчёт --------------------------------------------------------------------" + Environment.NewLine + report + Environment.NewLine + "------------------------------------------------------------------------------"); MessageBox.Show("Обработка Плана закупок №" + docPPNumber + " завершена!", "Сообщение"); }catch (Exception ex) { Dispose(); Utilits.Console.Log("[ОШИБКА] " + ex.Message, false, true); } }