private string QueryEndClausesDefinition(QueryDefInfo queryInfo, string delimClause) { var endClausesAllArray = queryInfo.QueryEndClauses(); var endClausesNonEmpty = endClausesAllArray.Where((s) => (s.CompareNoCase("") == false)).ToList(); return(string.Join(delimClause, endClausesNonEmpty)); }
private string QueryConstraintDefinition(QueryDefInfo queryInfo, string delimClause) { var constraintAllArray = new string[] { QueryInnerJoinDefinition(queryInfo), QueryWhereConsDefinition(queryInfo) }; var constraintNonEmpty = constraintAllArray.Where((s) => (s.CompareNoCase("") == false)).ToList(); return(string.Join(delimClause, constraintNonEmpty)); }
public string CreateQuerySQL(QueryDefInfo queryInfo, uint versCreate) { if (queryInfo == null) { return(DBConstants.EMPTY_STRING); } string strTableFieldNames = TableColsDefinition(queryInfo, versCreate); string strQueryFieldNames = QueryColsDefinition(queryInfo, versCreate); string strConstraintQuote = QueryConstraintDefinition(queryInfo, "\nWHERE "); string strEndsClauseQuote = QueryEndClausesDefinition(queryInfo, "\n "); string strBegin = ("CREATE VIEW "); strBegin += queryInfo.QueryName(); strBegin += NEW_LINE_STR; strBegin += "("; strBegin += strQueryFieldNames; strBegin += ")"; strBegin += NEW_LINE_STR; strBegin += "AS SELECT"; strBegin += NEW_LINE_STR; strBegin += strTableFieldNames; strBegin += NEW_LINE_STR; strBegin += "FROM "; strBegin += strConstraintQuote; string strSQL = StringUtils.JoinNonEmpty(NEW_LINE_STR, strBegin, strEndsClauseQuote); strSQL += NEW_LINE_STR; return(strSQL); }
private string QueryWhereConsDefinition(QueryDefInfo queryInfo) { bool bTbJoinConds = false; bool bFilterConds = DbJoinWithWhere() == true; var queryWhereJoins = queryInfo.QueryWhereJoins(bFilterConds).Select((t) => (t.QueryTableFilterConditions(bTbJoinConds, bFilterConds))).ToList(); var queryFiltrJoins = queryInfo.FiltrConsDefinition().ToList(); string retTableSql = string.Join(" AND \n", queryWhereJoins.Concat(queryFiltrJoins)); return(retTableSql); }
private string TableColsDefinition(QueryDefInfo queryInfo, uint versCreate) { string strFieldNames = ""; foreach (var field in queryInfo.TableColumnsSourceForVersion(versCreate)) { strFieldNames += field; strFieldNames += ","; strFieldNames += NEW_LINE_STR; } string retTableSql = strFieldNames.TrimEnd(DBConstants.TRIM_CHARS); return(retTableSql); }
private string QueryInnerJoinDefinition(QueryDefInfo queryInfo) { bool bTbJoinConds = true; bool bFilterConds = DbJoinWithWhere() == false; string strParenthesis = DBConstants.EMPTY_STRING; string strFieldNames = ""; var queryTableJoins = queryInfo.QueryTableJoins(); if (queryTableJoins.Count == 0) { var queryTables = queryInfo.QueryTableFroms(); strFieldNames += string.Join(",", queryTables); strFieldNames += NEW_LINE_STR; } else { foreach (var tableJoin in queryTableJoins) { strParenthesis += DbJoinOpenParenthesis(); strFieldNames += tableJoin.QueryTableJoinConditions(queryInfo, bTbJoinConds, bFilterConds); strFieldNames += DbJoinCloseParenthesis(); strFieldNames += NEW_LINE_STR; } } string retTableSql = strParenthesis + strFieldNames.TrimEnd(DBConstants.TRIM_CHARS); return(retTableSql); }