namespace LaaProductionWeb.Data.Interfaces { using System; using System.Collections.Generic; using System.Data.SqlClient; public interface ISqlClient { int ExecuteNonQuery(string query, Action parameters, SqlInfoMessageEventHandler errorCallback = null); IEnumerable ExecuteReader(string query, Func reader, SqlInfoMessageEventHandler errorCallback = null); IEnumerable ExecuteReader(string query, Func reader, Action columns, SqlInfoMessageEventHandler errorCallback = null); IEnumerable ExecuteReader(string query, Action parameters, Func reader, SqlInfoMessageEventHandler errorCallback = null); IEnumerable ExecuteReader(string query, Action parameters, Func reader, Action columns, SqlInfoMessageEventHandler errorCallback = null); T ExecuteScalar(string query, Action parameters, SqlInfoMessageEventHandler errorCallback = null); T FirstOrDefault(string query, Func reader, SqlInfoMessageEventHandler errorCallback = null); T FirstOrDefault(string query, Action parameters, Func reader, SqlInfoMessageEventHandler errorCallback = null); SQLCommand CreateCommand(string commandText); } }