Beispiel #1
0
        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());
        }
Beispiel #2
0
        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);
 }