Exemple #1
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();
        }
Exemple #2
0
 public void Dispose()
 {
     if (oleDbQuery != null)
     {
         oleDbQuery.Dispose();
     }
     if (sqlQuery != null)
     {
         sqlQuery.Dispose();
     }
 }
Exemple #3
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();
     }
 }
Exemple #4
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);
        }
Exemple #5
0
 public void Dispose()
 {
     if (oleDbConnection != null)
     {
         if (oleDbDataReader != null)
         {
             oleDbDataReader.Close();
         }
         oleDbConnection.Close();
         oleDbCommand.Dispose();
         oleDbConnection.Dispose();
     }
     if (sqlConnection != null)
     {
         if (sqlDataReader != null)
         {
             sqlDataReader.Close();
         }
         sqlConnection.Close();
         sqlCommand.Dispose();
         sqlConnection.Dispose();
     }
     if (oleDb != null)
     {
         oleDb.Dispose();
     }
     if (oleDbQuery != null)
     {
         oleDbQuery.Dispose();
     }
     if (sqlServer != null)
     {
         sqlServer.Dispose();
     }
     if (sqlQuery != null)
     {
         sqlQuery.Dispose();
     }
 }
Exemple #6
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);
                            }
                        }
                    }
                }
            }
        }
Exemple #7
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);
                                }
                            }
                        }
                    }
                }
            }
        }
Exemple #8
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 + "Заказы созданы в соответствии с выбранными прайс-листами и номенклатурой! ", "Сообщение");
        }