예제 #1
0
        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);
        }
예제 #2
0
        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);
            }
        }
예제 #3
0
        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);
        }
예제 #4
0
        /* =========================================================================================
         * Создание таблиц в базе данных
         * =========================================================================================
         */
        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();
        }
예제 #5
0
 public SavingConstants()
 {
     if (DataConfig.typeConnection == DataConstants.CONNETION_LOCAL)
     {
         // OLEDB
         oleDbQuery = new QueryOleDb(DataConfig.localDatabase);
     }
     else if (DataConfig.typeConnection == DataConstants.CONNETION_SERVER)
     {
         // MSSQL SERVER
         sqlQuery = new QuerySqlServer(DataConfig.serverConnection);
     }
 }
예제 #6
0
        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 + "' не удалось удалить!");
                            }
                        }
                    }
                }
            }
        }
예제 #7
0
        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);
        }
예제 #8
0
        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);
            }
        }
예제 #9
0
        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);
        }
예제 #10
0
 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();
     }
 }
예제 #11
0
        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);
        }
예제 #12
0
        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);
            }
        }
예제 #13
0
        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);
                            }
                        }
                    }
                }
            }
        }
예제 #14
0
        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);
                    }
                }
            }
        }
예제 #15
0
        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);
                                }
                            }
                        }
                    }
                }
            }
        }
예제 #16
0
        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 + "Заказы созданы в соответствии с выбранными прайс-листами и номенклатурой! ", "Сообщение");
        }
예제 #17
0
        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 + "' не удалось удалить!");
                            }
                        }
                    }
                }
            }
        }
예제 #18
0
        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);
        }
예제 #19
0
        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);
        }
예제 #20
0
        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");
                    }
                }
            }
        }
예제 #21
0
        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);
            }
        }