public static Dictionary<string, string> getVariableMapping(DatabaseTable obj)
{
// add fields from primary object
Dictionary<string, string> replacementStrings = new Dictionary<string, string>();
foreach (DBField currField in DBField.GetFieldList(obj.GetType())) {
if (currField.Filterable && currField.GetValue(obj) != null)
replacementStrings[currField.FieldName] = currField.GetValue(obj).ToString().Trim();
}
// add fields from secondary types
foreach (DBRelation currRelation in DBRelation.GetRelations(obj.GetType())) {
if (!currRelation.Filterable)
continue;
if (currRelation.GetRelationList(obj).Count > 0) {
DatabaseTable subObj = (DatabaseTable)currRelation.GetRelationList(obj)[0];
foreach (DBField currField in DBField.GetFieldList(currRelation.SecondaryType)) {
if (currField.Filterable && currField.GetValue(subObj) != null)
replacementStrings[currField.FieldName] = currField.GetValue(subObj).ToString().Trim();
}
}
}
return replacementStrings;
}