public T RunScalerQuery <T>(SQLQueryScaler <T> query) { var task = RunScalerQueryAsync <T>(query); task.Wait(); return(task.Result); }
public async Task <T> RunScalerQueryAsync <T>(string sql) { var query = new SQLQueryScaler <T>(sql); await RunQueryAsync(query); return(query.ReturnValue); }
public static SQLQueryScaler <int> GetInsertQuery(this ParentObject parentObject) { string sql = "insert into Parent (Name, SomeProp) OUTPUT Inserted.pk values (@name, @someprop);"; var query = new SQLQueryScaler <int>(sql); query.Parameters.Add("name", parentObject.Name); query.Parameters.Add("someprop", parentObject.SomeProp); return(query); }
public void ReadScalerReturnsAString() { var query = new SQLQueryScaler <string>(sqlString); var returnValue = queryHelper.RunScalerQuery <string>(query); Assert.AreEqual(scalerStringValue, returnValue); VerifyLogging(sqlString); Assert.AreEqual(sqlString, MockDatabaseFactory.DbCommand.Object.CommandText); MockDatabaseFactory.DbConnection.VerifySet(dbc => dbc.ConnectionString = connectionString, Times.Exactly(1)); MockDatabaseFactory.DbConnection.Verify(dbc => dbc.Open(), Times.Exactly(1)); MockDatabaseFactory.DbConnection.Verify(dbc => dbc.Close(), Times.Exactly(1)); MockDatabaseFactory.DbCommand.Verify(dbc => dbc.ExecuteScalarAsync(It.IsAny <System.Threading.CancellationToken>()), Times.Exactly(1)); }
public void ReadScalerDbNullReturnsNullObjectAsync() { DBNull scalerReturn = DBNull.Value; MockDatabaseFactory.SetScalerReturnValue(scalerReturn); var query = new SQLQueryScaler <string>(sqlString); var task = queryHelper.RunScalerQueryAsync <string>(query); task.Wait(); var returnValue = task.Result; Assert.IsNull(returnValue); VerifyLogging(sqlString); Assert.AreEqual(sqlString, MockDatabaseFactory.DbCommand.Object.CommandText); MockDatabaseFactory.DbConnection.VerifySet(dbc => dbc.ConnectionString = connectionString, Times.Exactly(1)); MockDatabaseFactory.DbConnection.Verify(dbc => dbc.Open(), Times.Exactly(1)); MockDatabaseFactory.DbConnection.Verify(dbc => dbc.Close(), Times.Exactly(1)); MockDatabaseFactory.DbCommand.Verify(dbc => dbc.ExecuteScalarAsync(It.IsAny <System.Threading.CancellationToken>()), Times.Exactly(1)); }
public void ReadScalerReturnsAStringWithParametersAsync() { var query = new SQLQueryScaler <string>(sqlString); query.Parameters.Add("param1", "value1"); query.Parameters.Add("param2", "value2"); query.Parameters.Add("param3", 333); var task = queryHelper.RunScalerQueryAsync <string>(query); task.Wait(); var returnValue = task.Result; Assert.AreEqual(scalerStringValue, returnValue); VerifyLogging(sqlString); Assert.AreEqual(sqlString, MockDatabaseFactory.DbCommand.Object.CommandText); MockDatabaseFactory.DbConnection.VerifySet(dbc => dbc.ConnectionString = connectionString, Times.Exactly(1)); MockDatabaseFactory.DbConnection.Verify(dbc => dbc.Open(), Times.Exactly(1)); MockDatabaseFactory.DbConnection.Verify(dbc => dbc.Close(), Times.Exactly(1)); MockDatabaseFactory.Parameters.Verify(p => p.Add(It.IsAny <DbParameter>()), Times.Exactly(3)); MockDatabaseFactory.DbCommand.Verify(dbc => dbc.ExecuteScalarAsync(It.IsAny <System.Threading.CancellationToken>()), Times.Exactly(1)); }
public async Task <T> RunScalerQueryAsync <T>(SQLQueryScaler <T> query) { await RunQueryAsync(query); return(query.ReturnValue); }