@@ -290,6 +290,20 @@ public async Task<IEnumerable<T>> GetAllAsync<T>()
290290 var insertQuery = SqlGenerator . Insert < T > ( entity ) ;
291291 IEnumerable < T > entityIn = DapperHelper . Query < T > ( DbConnection , insertQuery . ToSql ( ) , insertQuery . Parameters ) ;
292292
293+ if ( entityIn == null ) return default ( T ) ;
294+
295+ T result = entityIn . FirstOrDefault ( ) ;
296+
297+ return result ;
298+ }
299+
300+ public async Task < T > InsertAsync < T > ( T entity ) where T : new ( )
301+ {
302+ var insertQuery = SqlGenerator . Insert < T > ( entity ) ;
303+ IEnumerable < T > entityIn = await DapperHelper . QueryAsync < T > ( DbConnection , insertQuery . ToSql ( ) , insertQuery . Parameters ) ;
304+
305+ if ( entityIn == null ) return default ( T ) ;
306+
293307 T result = entityIn . FirstOrDefault ( ) ;
294308
295309 return result ;
@@ -342,6 +356,18 @@ public int UpdateByKey<T>(T entity)
342356 return recordsAffected ;
343357 }
344358
359+ public async Task < int > UpdateByKeyAsync < T > ( T entity )
360+ {
361+ if ( entity == null ) return 0 ;
362+
363+ var updateQuery = SqlGenerator . Update < T > ( entity ) ;
364+ var query = GetQueryByKey < T > ( entity , updateQuery ) ;
365+
366+ var recordsAffected = await DapperHelper . ExecuteScalarAsync ( DbConnection , updateQuery . ToSql ( ) , updateQuery . Parameters ) ;
367+
368+ return ( int ) recordsAffected ;
369+ }
370+
345371 #endregion
346372
347373 #region Delete
@@ -363,6 +389,18 @@ public int DeleteByKey<T>(dynamic entity)
363389
364390 return recordsAffected ;
365391 }
392+
393+ public async Task < int > DeleteByKeyAsync < T > ( dynamic entity )
394+ {
395+ if ( entity == null ) return 0 ;
396+
397+ var deleteQuery = SqlGenerator . Delete < T > ( ) ;
398+ var query = GetQueryByKey < T > ( entity , deleteQuery ) ;
399+
400+ var recordsAffected = await DapperHelper . ExecuteScalarAsync ( DbConnection , deleteQuery . ToSql ( ) , deleteQuery . Parameters ) ;
401+
402+ return ( int ) recordsAffected ;
403+ }
366404 #endregion
367405
368406 #region Get query objects
@@ -491,7 +529,7 @@ public IEnumerable<TResult> ExecuteQuery<T, R, TResult>(IQuery<T> query)
491529 return entities ;
492530 }
493531
494- public async Task < IEnumerable < TResult > > ExecuteQueryAsyc < T , R , TResult > ( IQuery < T > query , IDbTransaction dbTransaction , int ? commandTimeout = null )
532+ public async Task < IEnumerable < TResult > > ExecuteQueryAsyc < T , R , TResult > ( IQuery < T > query , IDbTransaction dbTransaction = null , int ? commandTimeout = null )
495533 {
496534 var entities = await DapperHelper . QueryAsync < TResult > ( DbConnection , query . ToSql ( ) , query . Parameters , dbTransaction , commandTimeout , CommandType . Text ) ;
497535
@@ -510,6 +548,21 @@ public object ExecuteScalar<T>(IQuery<T> query)
510548 return DapperHelper . ExecuteScalar ( DbConnection , query . ToSql ( ) , query . Parameters , null , null , CommandType . Text ) ;
511549 }
512550
551+ public object ExecuteScalar < T > ( IQuery < T > query , IDbTransaction dbTransaction , int ? commandTimeout = null )
552+ {
553+ return DapperHelper . ExecuteScalar ( DbConnection , query . ToSql ( ) , query . Parameters , dbTransaction , commandTimeout , CommandType . Text ) ;
554+ }
555+
556+ public async Task < T > ExecuteScalarAsync < T > ( IQuery < T > query , IDbTransaction dbTransaction , int ? commandTimeout = null )
557+ {
558+ return await DapperHelper . ExecuteScalarAsync < T > ( DbConnection , query . ToSql ( ) , query . Parameters , dbTransaction , commandTimeout , CommandType . Text ) ;
559+ }
560+
561+ public async Task < T > ExecuteScalarAsync < T > ( IQuery < T > query )
562+ {
563+ return await DapperHelper . ExecuteScalarAsync < T > ( DbConnection , query . ToSql ( ) , query . Parameters , null , null , CommandType . Text ) ;
564+ }
565+
513566 #endregion
514567
515568 #region Stored Procedures - SQL script Execution
0 commit comments