public MenuFunc(string label, Func <PostInvokeCommand> func) { this.Label = label .If().Null.Throw().Null(nameof(label)) .If().Empty.Throw().Argument("Cannot be empty.", nameof(label)); this._func = func.If().Null.Throw().Null(nameof(func)); }
public void TestExtensionFunc([Range(0, 1)] int trueCase) { Func <bool> init = () => trueCase == 0; var r = trueCase == 0 ? init.If(() => 0) : (trueCase == 1).If(() => 1); Assert.IsTrue(r.MatchedCase); Assert.IsTrue(r.Result == trueCase); }
public T Execute <T>(Func <DbDataReader, T> responseCallback) { responseCallback.If("responseCallback").IsNull.ThenThrow(); return(ExecuteWithConnection(cmd => { T result = default(T); using (var reader = cmd.ExecuteReader(_connection == null ? CommandBehavior.CloseConnection : CommandBehavior.Default)) { result = responseCallback.Invoke(reader); } return result; })); }
public void TestExtensionAction([Range(0, 1)] int trueCase) { int runCase = 0; Func <bool> init = () => trueCase == 0; var r = trueCase == 0 ? init.If(() => { runCase = 0; }) : (trueCase == 1).If(() => { runCase = 1; }); Assert.IsTrue(r.MatchedCase); Assert.IsTrue(trueCase == runCase); }
public T Execute <T>(Func <DbDataReader, T> responseCallback) { responseCallback.If("responseCallback").IsNull.ThenThrow(); //if we use the existing connection then we will get net packets out of order if two procs are called at the same time by //multiple threads //var myConnection = Connection as MySqlConnection; var myConnection = new SqlConnection(ConnectionString); SqlCommand cmd = new SqlCommand(Sql, myConnection); if (this.Parameters != null) { foreach (var item in this.Parameters) { cmd.Parameters.Add(new SqlParameter(item.Name, item.Value)); } } cmd.CommandType = CommandType.Text; myConnection.Open(); T result = default(T); try { using (var reader = cmd.ExecuteReader(CommandBehavior.CloseConnection)) { result = responseCallback.Invoke(reader); } } finally { if (myConnection.State == ConnectionState.Open) { myConnection.Close(); } } return(result); }
public StoredProcedureBuilder(Func <IDbConnection> connectionProvider, Func <IDbTransaction> transactionProvider = null) { connectionProvider.If("connectionProvider").IsNull.ThenThrow().Otherwise(x => _connectionProvider = x); _transactionProvider = transactionProvider ?? (() => null); }
public StoredProcedureBuilder(Func<IDbConnection> connectionProvider, Func<IDbTransaction> transactionProvider = null) { connectionProvider.If("connectionProvider").IsNull.ThenThrow().Otherwise(x => _connectionProvider = x); _transactionProvider = transactionProvider ?? (() => null); }
public S OtherwiseReturn <S>(Func <T, S> func) { func.If("func").IsNull.ThenThrow(); return(func(Item)); }