/// <summary> /// Convert to TypeCode from ExtJsRecordFieldType. /// </summary> public TypeCode Convert(ExtJsRecordFieldType input, TypeCode autoType, TypeCode defaultType, TypeCode defaultInt, TypeCode defaultFloat) { switch (input) { case ExtJsRecordFieldType.Boolean: return(TypeCode.Boolean); case ExtJsRecordFieldType.Date: return(TypeCode.DateTime); case ExtJsRecordFieldType.Float: return(TypeCode.Double); case ExtJsRecordFieldType.Int: return(TypeCode.Int64); case ExtJsRecordFieldType.String: return(TypeCode.String); case ExtJsRecordFieldType.Auto: return(autoType); default: return(defaultType); } }
/// <summary> /// input should be ExtJsRecordFieldType /// </summary> /// <param name="input"></param> /// <returns></returns> public override TypeCode Convert(string input) { ExtJsRecordFieldType outType = ExtJsRecordFieldType.Auto; bool canDo = input.TryParse <ExtJsRecordFieldType>(out outType); if (!canDo) { outType = ExtJsRecordFieldType.Auto; } return(this.Convert(outType, TypeCode.Object)); }
/// <summary> /// Convert to TypeCode /// <para>ints are translated to Int64, Floats default to Double.</para> /// </summary> public TypeCode Convert(ExtJsRecordFieldType input, TypeCode defaultType) { return(Convert(input, defaultType, defaultType, TypeCode.Int64, TypeCode.Double)); }