Example #1
0
        public void AddClauseOperation(ClauseInput clauseInput, TargetClauseType targetClauseType, SelectFunction?selectFunction)
        {
            switch (targetClauseType)
            {
            case TargetClauseType.Where:
                AddWhereClause(clauseInput);
                break;

            case TargetClauseType.Having:
                AddHavingClause(clauseInput, selectFunction.GetValueOrDefault());
                break;

            default:
                throw new SqlBuilderException("'targetClauseType' invalid");
            }
        }
Example #2
0
        public void AddOperator(ClauseInputOperator clauseInputOperator, TargetClauseType targetClauseType)
        {
            switch (targetClauseType)
            {
            case TargetClauseType.Where:
                AddWhereOperator(clauseInputOperator);
                break;

            case TargetClauseType.Having:
                AddHavingOperator(clauseInputOperator);
                break;

            default:
                throw new SqlBuilderException("'targetClauseType' invalid");
            }
        }
        public void AddClauseNotIn <TTable>(Expression <Func <TTable, object> > expression, List <object> values, string tableAlias, TargetClauseType targetClauseType)
        {
            var columnName = SqlBuilderFluentHelper.GetColumnName(expression);
            var tableName  = SqlBuilderFluentHelper.GetTableName <TTable>();

            _sqlQueryBuilder.AddOperatorNot(targetClauseType);
            _sqlQueryBuilder.AddClauseNotIn(tableName, columnName, values, tableAlias, targetClauseType, null);
        }
        public void ResolveQuery <TTable>(Expression <Func <TTable, bool> > expression, string tableAlias, TargetClauseType targetClauseType, SelectFunction?selectFunction)
        {
            var expressionTree = GetExpressionTree(expression);

            _lambdaResolverExtension.BuildSelect(expressionTree, tableAlias, targetClauseType, selectFunction);
        }
        public void AddHaving <TTable>(string tableAlias, Expression <Func <TTable, bool> > expressionFilter, TargetClauseType targetClauseType, SelectFunction selectFunction)
        {
            var expressionTree = GetExpressionTree(expressionFilter);

            _lambdaResolverExtension.BuildSelect(expressionTree, tableAlias, targetClauseType, selectFunction);
        }
Example #6
0
        public void AddClauseIsNotNull(string tableName, string columnName, string tableAlias, TargetClauseType targetClauseType, SelectFunction?selectFunction)
        {
            var tableNameToUse           = _sqlQueryBuilderExtension.GetTableNameUseConsideringAlias(tableName, tableAlias);
            var columnNameWithConvention = _sqlAdapter.GetColumnName(tableNameToUse, columnName);
            var clauseInput = new ClauseInput(columnNameWithConvention, ClauseInputType.ByIsNotNull);

            _sqlQueryBuilderExtension.AddClauseOperation(clauseInput, targetClauseType, selectFunction);
        }
Example #7
0
        public void AddClauseLike(string tableName, string columnName, string columnValue, string tableAlias, TargetClauseType targetClauseType, SelectFunction?selectFunction)
        {
            var parameterNameByColumnName = _sqlQueryBuilderExtension.GetParameterNameByColumnName(columnName);
            var tableNameToUse            = _sqlQueryBuilderExtension.GetTableNameUseConsideringAlias(tableName, tableAlias);
            var columnNameWithConvention  = _sqlAdapter.GetColumnName(tableNameToUse, columnName);
            var parameterFormated         = _sqlAdapter.GetParameterFormated(parameterNameByColumnName);
            var clauseInput = new ClauseInput(columnNameWithConvention, parameterFormated, ClauseInputType.ByLike);

            _sqlQueryBuilderExtension.AddClauseOperation(clauseInput, targetClauseType, selectFunction);
            _sqlQueryBuilderExtension.AddParameter(parameterNameByColumnName, columnValue);
        }
Example #8
0
        public void AddClauseByOperationComparison(string leftTableName, string leftColumnName, string operation, string rightTableName, string rightColumnName, TargetClauseType targetClauseType, SelectFunction?selectFunction)
        {
            var columnNameLeft  = _sqlAdapter.GetColumnName(leftTableName, leftColumnName);
            var columnNameRight = _sqlAdapter.GetColumnName(rightTableName, rightColumnName);
            var clauseInput     = new ClauseInput(columnNameLeft, operation, columnNameRight, ClauseInputType.ByOperationComparison);

            _sqlQueryBuilderExtension.AddClauseOperation(clauseInput, targetClauseType, selectFunction);
        }
Example #9
0
 public void AddOperatorNot(TargetClauseType targetClauseType)
 {
     _sqlQueryBuilderExtension.AddOperator(ClauseInputOperator.Not, targetClauseType);
 }
Example #10
0
        public void AddClauseNotIn(string tableName, string columnName, List <object> values, string tableAlias, TargetClauseType targetClauseType, SelectFunction?selectFunction)
        {
            var parameters = values.Select(x =>
            {
                var parameterNameByColumnName = _sqlQueryBuilderExtension.GetParameterNameByColumnName(columnName);
                var parameterFormated         = _sqlAdapter.GetParameterFormated(parameterNameByColumnName);

                _sqlQueryBuilderExtension.AddParameter(parameterNameByColumnName, x);

                return(parameterFormated);
            });

            var tableNameToUse           = _sqlQueryBuilderExtension.GetTableNameUseConsideringAlias(tableName, tableAlias);
            var columnNameWithConvention = _sqlAdapter.GetColumnName(tableNameToUse, columnName);
            var parametersToAdd          = String.Join(",", parameters);
            var clauseInput = new ClauseInput(columnNameWithConvention, parametersToAdd, ClauseInputType.ByNotIn);

            _sqlQueryBuilderExtension.AddClauseOperation(clauseInput, targetClauseType, selectFunction);
        }