Skip to content

Instantly share code, notes, and snippets.

@tfwio
Created September 27, 2013 10:19
Show Gist options
  • Save tfwio/6726572 to your computer and use it in GitHub Desktop.
Save tfwio/6726572 to your computer and use it in GitHub Desktop.
A code explanation of the supported field-element-tags in a template-based cs-code-generator app; Granted there are extension methods at play here, but it still explains a good number of the tags, currently.
//
DICT <string,object> fparams = new DICT <string,object>();
//
fparams.Add("Date", string.Format("MM/dd/yyyy",DateTime.Now));
fparams.Add("Time", string.Format("hh:mm.ss tttt",DateTime.Now));
fparams.Add("DateTime", string.Format("MM/dd/yyyy hh:mm.ss tttt",DateTime.Now));
//
fparams.Add("DataName", DataName);
fparams.Add("dataname", DataName.ToLower());
fparams.Add("DataNameC", dataName.Capitolize());
fparams.Add("CleanName,Nodash", DataName.Clean());
fparams.Add("FriendlyName", DataName.Clean());
fparams.Add("CleanName", DataName.Replace("-","_"));
fparams.Add("FriendlyNameC", DataName.Clean().Capitolize());
//
fparams.Add("DataType", DataType);
fparams.Add("datatype", DataType.ToLower());
fparams.Add("DataTypeNative", DataTypeNative);
fparams.Add("DataTypeNativeF", DataTypeNative);
fparams.Add("datatypenative", DataTypeNative.ToLower());
//
// FIXME: We need to convert flash types also from Access/Ace Types.
// This means that we do need to know what type our origin is
// at this point.
fparams.Add("FlashDataType", TypeInfo.SqlTypeStrToFlashType(DataType));
fparams.Add("FormatString", FormatString);
//
fparams.Add("MaxLMAX", MaxLength == -1 ? "MAX" : MaxLength.ToString());
fparams.Add("nmax", MaxLength == -1 ? "" : string.Format("({0})",MaxLength));
fparams.Add("smax", MaxLength == -1 ? "(MAX)" : string.Format("({0})",MaxLength));
fparams.Add("MaxLength", MaxLength);
//
fparams.Add("CodeBlock", CodeBlock);
fparams.Add("BlockAction", BlockAction);
// TODO: ADDED FIELD TYPE NAMES
fparams.Add("FormType", FormType);
fparams.Add("FormTypeClean", FormType.Clean());
fparams.Add("formtype", FormType.ToLower());
//
fparams.Add("IsString", false);
fparams.Add("IsBool", false);
fparams.Add("IsNum", false);
//
switch (DataTypeNative)
{
case "String": case "Char":
fparams["IsString"] = true; break;
default: fparams["IsString"] = false; break;
}
//
switch (DataTypeNative)
{
case "Boolean":
case "DateTime":
case "DBNull":
case "Empty":
case "String": fparams["IsNum"] = false; break;
default: fparams["IsNum"] = true; break;
}
//
switch (DataTypeNative)
{
case "Boolean": fparams["IsBool"] = (true); break;
default: fparams["IsBool"] = false; break;
}
//
switch (DataTypeNative)
{
case "Single": fparams.Add("Native","float"); break;
case "Double": fparams.Add("Native","double"); break;
case "Decimal": fparams.Add("Native","Decimal"); break;
case "Boolean": fparams.Add("Native","bool"); break;
// case "BigInt": fparams.Add("Native","Int64"); break;
case "DateTime": fparams.Add("Native","DateTime"); break;
case "DBNull": fparams.Add("Native","DBNull"); break;
case "Empty": fparams.Add("Native","Empty"); break;
case "Int16": fparams.Add("Native","short"); break;
case "Int32": fparams.Add("Native","int"); break;
case "Int64": fparams.Add("Native","long"); break;
case "UInt16": fparams.Add("Native","ushort"); break;
case "UInt32": fparams.Add("Native","uint"); break;
case "UInt64": fparams.Add("Native","ulong"); break;
default: fparams.Add("Native",DataTypeNative.ToLower()); break;
}
fparams.Add("NativeNullType", GetNativeNullType(fparams["Native"].ToString()));
fparams.Add("NativeNullValue", IsNativeNullable(fparams["Native"].ToString()) ? ".Value" : "");
//
if ( ((bool)fparams["IsString"] ) == true )
{
fparams.Add("SqlFormat", "'{0}'");
fparams.Add("Format", @"""{0}""");
fparams.Add("fmax", MaxLength == -1 ? "(max)" : string.Format("({0})",MaxLength));
}
else if ( ((bool)fparams["IsBool"] )==true )
{
fparams.Add("Format",string.Empty);
fparams.Add("fmax",string.Empty);
}
else if ( ((bool)fparams["IsNum"] )==true )
{
if (useFormat) fparams.Add("fmax",maxLength==-1 ? "" : string.Format("({0})",maxLength));
}
//
switch (dataType)
{
case "Char":
case "NChar":
case "NText":
case "NVarChar":
case "Text":
case "VarChar":
fparams.Add("max", MaxLength == -1 ? "(max)" : string.Format("({0})",MaxLength)); break;
default:
fparams.Add("max", MaxLength == -1 ? "" : string.Format("({0})",MaxLength)); break;
}
//
fparams.Add("UseFormat", UseFormat);
fparams.Add("IsNullable", IsNullable);
fparams.Add("DataTypeNullable", IsNullable ? GetNativeNullType(fparams["Native"].ToString()) : fparams["Native"]);
fparams.Add("Description", Description);
fparams.Add("DefaultValue", DefaultValue);
return fparams;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment