Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public interface IDbParser
- {
- IDbConnection GetDbConnection(string ServerName, string DbPortNumber, string Username, string Password, string DatabaseName);
- IDbCommand GetDbCommand(string query, IDbConnection sqlConnection);
- IDataParameter CreateParameter(string key, object value);
- string GetDbQuery(DbQueries query);
- }
- public class OracleParser : IDbParser
- {
- #region >>> Queries
- private string SELECTGROUPSESSIONS = "....";
- ........
- #endregion
- public IDbCommand GetDbCommand(string query, IDbConnection sqlConnection)
- {
- var command = new OracleCommand();
- command.CommandText = query;
- command.Connection = (OracleConnection)sqlConnection;
- command.CommandType = CommandType.Text;
- command.CommandTimeout = 300;
- return command;
- }
- public IDataParameter CreateParameter(string key, object value)
- {
- return new OracleParameter(key, value);
- }
- public IDbConnection GetDbConnection(string ServerName, string DbPortNumber, string Username, string Password, string DatabaseName)
- {
- connString = String.Format("Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS=(PROTOCOL=TCP)(HOST={0})(PORT={1})))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME={2}))); Connection Timeout=60; User Id={3};Password={4};",
- ServerName, DbPortNumber, DatabaseName, Username, Password);
- return new OracleConnection(connString);
- }
- public string GetDbQuery(DbQueries query)
- {
- switch (query)
- {
- case DbQueries.SELECTGROUPSESSIONS:
- return SELECTGROUPSESSIONS;
- ................
- ..............
- default:
- return String.Empty;
- }
- }
- }
- public class PostgresParser : IDbParser
- {
- #region >>> Queries
- private string SELECTGROUPSESSIONS = "....";
- ........
- #endregion
- public IDbCommand GetDbCommand(string query, IDbConnection sqlConnection)
- {
- var command = new NpgsqlCommand();
- command.CommandText = query;
- command.Connection = (NpgsqlConnection)sqlConnection;
- command.CommandType = CommandType.Text;
- return command;
- }
- public IDataParameter CreateParameter(string key, object value)
- {
- return new NpgsqlParameter(key, value);
- }
- public IDbConnection GetDbConnection(string ServerName, string DbPortNumber, string Username, string Password, string DatabaseName)
- {
- string connString = String.Format("Server={0};Port={1};Timeout=60;CommandTimeout=300;" +
- "User Id={2};Password={3};Database={4};",
- ServerName, DbPortNumber, Username, Password, DatabaseName);
- return new NpgsqlConnection(connString);
- }
- public string GetDbQuery(DbQueries query)
- {
- switch (query)
- {
- case DbQueries.SELECTGROUPSESSIONS:
- return SELECTGROUPSESSIONS;
- ................
- ..............
- default:
- return String.Empty;
- }
- }
- }
- public class DatabaseParserFactory
- {
- public static IDbParser GetDbParser(string dbType)
- {
- CUCMDbType dbTypeName;
- Enum.TryParse(dbType.ToLower(), out dbTypeName);
- switch (dbTypeName)
- {
- case CUCMDbType.oracle:
- return new OracleParser();
- case CUCMDbType.postgres:
- return new PostgresParser();
- default:
- return new PostgresParser();
- }
- }
- }
- public void Query(string queryStatement, DbParameterColl parameters, Action<IDataReader> processReader)
- {
- using (SqlConnection)
- {
- IDbCommand selectCommand = null;
- selectCommand = _factory.GetDbCommand(queryStatement, SqlConnection);
- selectCommand.Parameters.Clear();
- using (selectCommand)
- {
- if (parameters != null)
- {
- foreach (var param in parameters)
- {
- selectCommand.Parameters.Add(_factory.CreateParameter(param.Key, param.Value));
- }
- }
- try
- {
- using (var reader = selectCommand.ExecuteReader())
- {
- processReader(reader);
- }
- }
- catch (Exception ex)
- {
- Logger.DebugFormat("Unable to execute the query. Query : {0} . Exception: {1}", queryStatement, ex);
- Debug.WriteLine("nn>> Error on executing reader. Exception :n " + ex);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement