private string BuildReplacementSQL(KeyValuePair <string, ReportSQLReplaceHeaderModel> replacementKey) { ReportSQLReplaceHeaderModel value = replacementKey.Value; StringBuilder result = new StringBuilder(); result.Append("(SELECT CONCAT("); foreach (string column in value.UseColumns) { result.Append($"(SELECT {column} FROM {value.UseTable} WHERE "); for (int x = 0; x < value.WhereDetails.Count; ++x) { ReportSQLReplaceDetailModel detail = value.WhereDetails[x]; if (detail.IsColumn) { if (x == (value.WhereDetails.Count - 1)) { result.Append($"{detail.WhereOption} = {detail.WhereValue} "); } else { result.Append($"{detail.WhereOption} = {detail.WhereValue} AND "); } } else { if (x == (value.WhereDetails.Count - 1)) { result.Append($"{detail.WhereOption} = '{detail.WhereValue}' "); } else { result.Append($"{detail.WhereOption} = '{detail.WhereValue}' AND "); } } } result.Append("), ' ', "); } result.Remove(result.Length - 2, 2); result.Append($")) AS {value.ReplaceColumn}, "); result.Append($"{replacementKey.Key} AS {value.ReplaceColumn}_Value "); return(result.ToString()); }
internal void UpdateReplacementColumn(ReportSQLReplaceHeaderModel replacementValues) { string itemKey = this.BuildItemKey(replacementValues.ReplaceTable, replacementValues.ReplaceColumn); if (this.replacementColumns.ContainsKey(itemKey)) { this.replacementColumns.Remove(itemKey); } if (replacementValues.WhereDetails.Count == 0) { return; } this.replacementColumns.Add(itemKey, replacementValues); }
public void UpdateReplacementColumn(ReportSQLReplaceHeaderModel replacementValues) { this.SqlManager.UpdateReplacementColumn(replacementValues); }