Example #1
0
        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));
        }
Example #2
0
        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);
        }
Example #3
0
 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;
     }));
 }
Example #4
0
        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);
        }
Example #5
0
        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);
 }
Example #8
0
        public S OtherwiseReturn <S>(Func <T, S> func)
        {
            func.If("func").IsNull.ThenThrow();

            return(func(Item));
        }