public string GenerateFieldList(TableHierarchy tableHierarchy, ApplyTemplateToColumn template, bool removePK = false, bool substituteFK = false, string parentIdMap = "", string alias = "") { string res = ""; bool needCheck = true; string currentColumn; Table table = db.Tables[tableHierarchy.TableName]; first = true; string columnAlias; foreach (Column col in table.Columns) { columnAlias = alias; needCheck = true; currentColumn = col.ToString(); if (needCheck && removePK) { if (col.ToString().Equals(Program.QuoteName(tableHierarchy.PrimaryKey))) { needCheck = false; currentColumn = ""; } } if (needCheck && substituteFK) { if (col.ToString().Equals(Program.QuoteName(tableHierarchy.ForeignKey))) { needCheck = false; columnAlias = ""; currentColumn = $"{parentIdMap}.{newId}"; } } if (currentColumn != "") { currentColumn = addColumnName(currentColumn, columnAlias, GetColumnType(col), template); } res += currentColumn; } return(res); }
private string addColumnName(string columnName, string alias, string dataType, ApplyTemplateToColumn template) { string res = ""; if (first) { first = false; } else { res += ","; } string s = template(columnName, alias, dataType); res += s; return(res); }