public static void AppendParameterValueForTsqlDump(StringBuilder builder, object value) { if (value == null || value is DBNull) { builder.Append("null"); } else if (value is Boolean) { if ((bool)value) { builder.Append("1"); } else { builder.Append("0"); } } else if (value is string) { var asString = (string)value; builder.Append("'"); builder.Append(asString.Replace("'", "''")); builder.Append("'"); } else if (value is DateTime) { builder.Append("'"); DateTime dt = (DateTime)value; builder.Append(dt.ToString("dd-MMM-yyyy HH:mm:ss")); builder.Append("'"); } else if (value.GetType().IsEnum) { long enumValue = ConversionHelper.ToInt64(value, Cultures.System); builder.Append(enumValue); } else { builder.Append(value); } }
static void EnumValuesLookup_CreateItemValue(object sender, CreateLookupItemEventArgs <string, object> e) { var index = e.Key.IndexOf('|'); var typeName = e.Key.Substring(0, index); var type = Type.GetType(typeName); var toFind = ConversionHelper.ToInt64(e.Key.Substring(index + 1)); // get... var masters = Enum.GetValues(type); foreach (var master in masters) { if (ConversionHelper.ToInt64(master) == toFind) { e.NewValue = master; return; } } // return... e.NewValue = ConversionHelper.ChangeType(toFind, Enum.GetUnderlyingType(type)); }