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"); } }
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); }
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); }
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); }
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); }
public void AddOperatorNot(TargetClauseType targetClauseType) { _sqlQueryBuilderExtension.AddOperator(ClauseInputOperator.Not, targetClauseType); }
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); }