コード例 #1
0
        public static MethodCallExpression Params(this MethodCallExpression methodCallExpression,
                                                  params Expression[] parameters)
        {
            foreach (Expression parameter in parameters)
            {
                methodCallExpression.AddParam(parameter);
            }

            return methodCallExpression;
        }
コード例 #2
0
        public static NewExpression Params(this NewExpression newExpression,
                                                  params Expression[] parameters)
        {
            foreach (Expression parameter in parameters)
            {
                newExpression.AddParam(parameter);
            }

            return newExpression;
        }
コード例 #3
0
 public static ConstructorStatement Param(this ConstructorStatement constructorStatement, string name, CsType type)
 {
     constructorStatement.AddParam(new ParameterStatement(name, type));
     return constructorStatement;
 }
コード例 #4
0
        public static MethodCallExpression RefParam(this MethodCallExpression methodCallExpression, Expression refParam)
        {
            methodCallExpression.AddParam(new RefExpression(refParam));

            return methodCallExpression;
        }
コード例 #5
0
 public static string AddParam(this string url, string key, object val)
 {
     return url.AddParam(key, val.ToString());
 }
コード例 #6
0
ファイル: Sql.cs プロジェクト: CodeFork/Serenity
        public static string Coalesce(this IQueryWithParams query, params object[] values)
        {
            if (values == null || values.Length == 0)
                throw new ArgumentNullException("values");

            StringBuilder sb = new StringBuilder("COALESCE(");

            for (var i = 0; i < values.Length; i++)
            {
                if (i > 0)
                    sb.Append(", ");

                var value = values[i];
                if (value is ICriteria)
                    ((ICriteria)value).ToString(sb, query);
                else if (value is IQueryWithParams)
                    sb.Append(((IQueryWithParams) value).ToString());
                else if (value is IField)
                {
                    sb.Append(((IField)value).Expression);
                }
                else
                {
                    var param = query.AutoParam();
                    query.AddParam(param.Name, value);
                    sb.Append(param.Name);
                }
            }

            sb.Append(")");

            return sb.ToString();
        }
コード例 #7
0
 public static MethodStatement Param(this MethodStatement methodStatement, string name, CsType type)
 {
     methodStatement.AddParam(new ParameterStatement(name, type));
     return methodStatement;
 }