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 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 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 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 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); }
private void AddWhereClause(ClauseInput clauseInput) { _whereClause.Add(clauseInput.ToString()); }
private void AddHavingClause(ClauseInput clauseInput, SelectFunction selectFunction) { var havingEpression = $"{selectFunction.ToString().ToUpper()}({clauseInput.Column}) {clauseInput.Operation} {clauseInput.ParameterFormated}"; _havingClause.Add(havingEpression); }