Ejemplo n.º 1
0
        public static DbConnection NewConnection(DbEngineType engineType)
        {
            var csb = PrepareFirebirdConnectionString(Config.DbConnectionString);

            return(engineType == DbEngineType.Postgres
                ? (DbConnection) new NpgsqlConnection(Config.DbConnectionString)
                : (DbConnection) new FbConnection(csb.ConnectionString));
        }
Ejemplo n.º 2
0
        public static object GetValue(DbEngineType dbEngineType, string key)
        {
            var sql =
                "select test_value from test where test_key = @test_key";
            var parameters =
                new Dictionary <string, object>()
            {
                { "@test_key", key }
            };

            return(DbTools.Query <object>(dbEngineType, sql, parameters));
        }
Ejemplo n.º 3
0
        public static void SetValue(DbEngineType dbEngineType, string key, object value)
        {
            var sql =
                "insert into test (test_key, test_value) values (@test_key, @test_value)";
            var parameters =
                new Dictionary <string, object>
            {
                { "@test_key", key },
                { "@test_value", value }
            };

            try
            {
                DbTools.Execute(dbEngineType, sql, parameters);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
Ejemplo n.º 4
0
        public static int Execute(DbEngineType dbEngineType, string sql, Dictionary <string, object> parameters)
        {
            using (var conn = NewConnection(dbEngineType))
            {
                try
                {
                    var cmd = CreateCommand(dbEngineType, sql, conn);
                    foreach (var param in parameters)
                    {
                        cmd.Parameters.Add(CreateParameter(dbEngineType, param.Key, param.Value));
                    }

                    conn.Open();
                    return(cmd.ExecuteNonQuery());
                }
                finally
                {
                    conn.Close();
                }
            }
        }
Ejemplo n.º 5
0
        public static List <T> Query <T>(DbEngineType dbEngineType, string sql, Dictionary <string, object> parameters)
        {
            Dapper.DefaultTypeMap.MatchNamesWithUnderscores = true;
            using (var conn = NewConnection(dbEngineType))
            {
                try
                {
                    conn.Open();

                    var query = parameters.Any()
                        ? conn.Query <T>(sql, parameters)
                        : conn.Query <T>(sql);

                    return(query.ToList());
                }
                finally
                {
                    conn.Close();
                }
            }
        }
Ejemplo n.º 6
0
 private static DbParameter CreateParameter(DbEngineType dbEngineType, string name, object value)
 {
     return(dbEngineType == DbEngineType.Postgres
         ? PostgresParam(name, value)
         : FbParam(name, value));
 }
Ejemplo n.º 7
0
 private static DbCommand CreateCommand(DbEngineType dbEngineType, string sql, DbConnection conn)
 {
     return(dbEngineType == DbEngineType.Postgres
         ? PostgresCommand(sql, conn)
         : FbCommand(sql, conn));
 }
Ejemplo n.º 8
0
 public async Task GetCollection <T>(DbEngineType engine = DbEngineType.Napalm)
 {
 }