C# Class IQMap.Impl.SqlDataStorageController

Inheritance: IDataStorageController
Show file Open project: jamietre/IQMap

Public Methods

Method Description
Count ( IDbConnection connection, ISqlQuery query, IDbTransaction transaction = null, CommandBehavior commandBehavior = CommandBehavior.Default ) : int
GetConnection ( string connectionString ) : IDbConnection
GetQueryType ( string query ) : string

return the first word, basically

LastQueryAudit ( ) : string

Only works for MSSQL - trys to map the query replacing parameter values with actual values

RunQuery ( IDbConnection connection, ISqlQuery query, IDbTransaction transaction = null, CommandBehavior commandBehavior = CommandBehavior.Default ) : IDataReader
RunQuery ( IDbConnection connection, ISqlQuery query, int &rows, IDbTransaction transaction = null, CommandBehavior commandBehavior = CommandBehavior.Default ) : IDataReader
RunQueryInsert ( IDbConnection connection, ISqlQuery query, IDbTransaction transaction = null, CommandBehavior commandBehavior = CommandBehavior.Default ) : int
RunQueryScalar ( IDbConnection connection, ISqlQuery query, IDbTransaction transaction = null, CommandBehavior commandBehavior = CommandBehavior.Default ) : int
RunStoredProcedure ( IDbConnection connection, ISqlQuery query, IDbTransaction transaction = null, CommandBehavior commandBehavior = CommandBehavior.Default ) : IDataReader

Protected Methods

Method Description
BeforeRunQuery ( ISqlQuery query ) : void

Occurs right before any query is run

CleanSql ( string sql ) : string
ClearCacheAfterChange ( ISqlQuery query ) : void
Count ( IDbConnection connection, string tableName, string where, IEnumerable parameters, IDbTransaction transaction, CommandBehavior commandBehavior = CommandBehavior.Default ) : int
ExecuteSqlFinal ( System.Action function ) : void

This wraps all SQL database calls so that descendant objects can override it

GetCommand ( IDbConnection connection, ISqlQuery query, IDbTransaction transaction ) : IDbCommand
GetQueryForRows ( ISqlQuery query ) : string
InsertAndReturnNewID ( IDbConnection conn, ISqlQuery query, IDbTransaction transaction = null, CommandBehavior commandBehavior = CommandBehavior.Default ) : int
OnMapParameter ( IDataParameter input, IDataParameter output ) : void
OnQueryComplete ( ) : void
ProcessSql ( string querySql, IEnumerable parameters ) : string
ValidateQueryType ( string query, string match ) : void

Private Methods

Method Description
HasParameter ( string sql, string ParameterName ) : bool

Method Details

BeforeRunQuery() protected method

Occurs right before any query is run
protected BeforeRunQuery ( ISqlQuery query ) : void
query ISqlQuery
return void

CleanSql() protected method

protected CleanSql ( string sql ) : string
sql string
return string

ClearCacheAfterChange() protected method

protected ClearCacheAfterChange ( ISqlQuery query ) : void
query ISqlQuery
return void

Count() public method

public Count ( IDbConnection connection, ISqlQuery query, IDbTransaction transaction = null, CommandBehavior commandBehavior = CommandBehavior.Default ) : int
connection IDbConnection
query ISqlQuery
transaction IDbTransaction
commandBehavior CommandBehavior
return int

Count() protected method

protected Count ( IDbConnection connection, string tableName, string where, IEnumerable parameters, IDbTransaction transaction, CommandBehavior commandBehavior = CommandBehavior.Default ) : int
connection IDbConnection
tableName string
where string
parameters IEnumerable
transaction IDbTransaction
commandBehavior CommandBehavior
return int

ExecuteSqlFinal() protected method

This wraps all SQL database calls so that descendant objects can override it
protected ExecuteSqlFinal ( System.Action function ) : void
function System.Action
return void

GetCommand() protected method

protected GetCommand ( IDbConnection connection, ISqlQuery query, IDbTransaction transaction ) : IDbCommand
connection IDbConnection
query ISqlQuery
transaction IDbTransaction
return IDbCommand

GetConnection() public abstract method

public abstract GetConnection ( string connectionString ) : IDbConnection
connectionString string
return IDbConnection

GetQueryForRows() protected abstract method

protected abstract GetQueryForRows ( ISqlQuery query ) : string
query ISqlQuery
return string

GetQueryType() public method

return the first word, basically
public GetQueryType ( string query ) : string
query string
return string

InsertAndReturnNewID() protected abstract method

protected abstract InsertAndReturnNewID ( IDbConnection conn, ISqlQuery query, IDbTransaction transaction = null, CommandBehavior commandBehavior = CommandBehavior.Default ) : int
conn IDbConnection
query ISqlQuery
transaction IDbTransaction
commandBehavior CommandBehavior
return int

LastQueryAudit() public method

Only works for MSSQL - trys to map the query replacing parameter values with actual values
public LastQueryAudit ( ) : string
return string

OnMapParameter() protected method

protected OnMapParameter ( IDataParameter input, IDataParameter output ) : void
input IDataParameter
output IDataParameter
return void

OnQueryComplete() protected method

protected OnQueryComplete ( ) : void
return void

ProcessSql() protected method

protected ProcessSql ( string querySql, IEnumerable parameters ) : string
querySql string
parameters IEnumerable
return string

RunQuery() public method

public RunQuery ( IDbConnection connection, ISqlQuery query, IDbTransaction transaction = null, CommandBehavior commandBehavior = CommandBehavior.Default ) : IDataReader
connection IDbConnection
query ISqlQuery
transaction IDbTransaction
commandBehavior CommandBehavior
return IDataReader

RunQuery() public method

public RunQuery ( IDbConnection connection, ISqlQuery query, int &rows, IDbTransaction transaction = null, CommandBehavior commandBehavior = CommandBehavior.Default ) : IDataReader
connection IDbConnection
query ISqlQuery
rows int
transaction IDbTransaction
commandBehavior CommandBehavior
return IDataReader

RunQueryInsert() public method

public RunQueryInsert ( IDbConnection connection, ISqlQuery query, IDbTransaction transaction = null, CommandBehavior commandBehavior = CommandBehavior.Default ) : int
connection IDbConnection
query ISqlQuery
transaction IDbTransaction
commandBehavior CommandBehavior
return int

RunQueryScalar() public method

public RunQueryScalar ( IDbConnection connection, ISqlQuery query, IDbTransaction transaction = null, CommandBehavior commandBehavior = CommandBehavior.Default ) : int
connection IDbConnection
query ISqlQuery
transaction IDbTransaction
commandBehavior CommandBehavior
return int

RunStoredProcedure() public method

public RunStoredProcedure ( IDbConnection connection, ISqlQuery query, IDbTransaction transaction = null, CommandBehavior commandBehavior = CommandBehavior.Default ) : IDataReader
connection IDbConnection
query ISqlQuery
transaction IDbTransaction
commandBehavior CommandBehavior
return IDataReader

ValidateQueryType() protected method

protected ValidateQueryType ( string query, string match ) : void
query string
match string
return void