public void Init_AT_PG()
        {
            string server   = "postgresql-zpf.alwaysdata.net";
            string db       = "zpf_postgresql";
            string user     = "******";
            string password = "******";

            DBSQLViewModel AuditTrailConnection = null;

            AuditTrailConnection = new DBSQLViewModel(new PostgreSQLEngine());
            string AT_ConnectionString = DB_SQL.GenConnectionString(DBType.PostgreSQL, server, db, user, password);

            AuditTrailConnection.Open(AT_ConnectionString, true);

            AuditTrailViewModel.Current.Init(new DBAndFileAuditTrailWriter(AuditTrailConnection, string.Format(@"{0}", AuditTrailFileName)));
            AuditTrailViewModel.Current.MaxLines = 5;
            AuditTrailViewModel.Current.Clean(); // prend en compte uniquement nombre ligne

            Assert.AreEqual(true, AuditTrailConnection.CheckConnection());
        }
        public void Init_AT_SQLServer2()
        {
            string server   = "SQL6005.site4now.net";
            string db       = "DB_A44F11_StockAPPro2dev";
            string user     = "******";
            string password = "******";

            DBSQLViewModel AuditTrailConnection = null;

            AuditTrailConnection = new DBSQLViewModel(new SQLServerEngine());
            string AT_ConnectionString = DB_SQL.GenConnectionString(DBType.SQLServer, server, db, user, password);

            AuditTrailConnection.Open(AT_ConnectionString, true);

            AuditTrailViewModel.Current.Init(new DBAndFileAuditTrailWriter(AuditTrailConnection, string.Format(@"{0}", AuditTrailFileName)));
            // AuditTrailViewModel.Current.MaxLines = 5;
            //AuditTrailViewModel.Current.Clean(); // prend en compte uniquement nombre ligne

            Assert.AreEqual(true, AuditTrailConnection.CheckConnection());
        }
        // - -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -

        public static bool CreateTable(DBSQLViewModel _dBSQLViewModel = null)
        {
            bool Result = true;

            if (!_dBSQLViewModel.CheckConnection())
            {
                return(false);
            }

            DB_SQL.QuickQueryInt(_dBSQLViewModel, "select PK from AuditTrail where 1=2");
            if (DB_SQL._ViewModel != null && DB_SQL._ViewModel.LastError == "")
            {
                return(true);
            }
            ;

            if (Result)
            {
                // - - -  - - -

                #region Create table & co

                string SQL = "";

                switch (_dBSQLViewModel.DBType)
                {
                case DBType.Firebird: return(false); break; // ToDo CHM

                case DBType.SQLServer: SQL = AuditTrail.PostScript_MSSQL; break;

                case DBType.SQLite: SQL = AuditTrail.PostScript_SQLite; break;

                case DBType.PostgreSQL: SQL = AuditTrail.PostScript_PGSQL; break;

                case DBType.MySQL: SQL = AuditTrail.PostScript_MySQL; break;
                }
                ;

                // - - -  - - -

                DB_SQL.CreateTable(_dBSQLViewModel, typeof(AuditTrail), SQL, "");

                #endregion

                // - - -  - - -

                if (!Result)
                {
                    Log.Write(new AuditTrail()
                    {
                        Level = ErrorLevel.Error, Message = _dBSQLViewModel.LastError + Environment.NewLine + _dBSQLViewModel.LastQuery
                    });

                    if (Debugger.IsAttached)
                    {
                        Debugger.Break();
                    }
                    ;

                    return(false);
                }
            }
            ;
            return(Result);
        }