public static object StringToField(this IFieldInfoDescriptor fieldDescriptor, string value) { if (value == null) { return(null); } value = fieldDescriptor.StringTrim(value); if (string.Empty.Equals(value) && fieldDescriptor.Converter == null) { return(value); } if (fieldDescriptor.Converter == null && fieldDescriptor.Type == null) { return(value); } ConverterBase converterInstance = fieldDescriptor.Converter == null ? ConverterFactory.GetDefaultConverter(fieldDescriptor.Type, fieldDescriptor.ConverterFormat) : ConverterFactory.GetConverter(fieldDescriptor.Converter, fieldDescriptor.ConverterFormat); return(converterInstance == null ? value : converterInstance.StringToField(value)); }
internal static object StringToRecord(this IFieldInfoDescriptor fieldInfoDescriptor, string fieldString, char nullChar) { if (fieldString == null) { return(fieldInfoDescriptor.NullValue ?? null); } string stringNullRepresentation = new string(nullChar, fieldString.Length); if (fieldString == stringNullRepresentation) { return(fieldInfoDescriptor.NullValue ?? null); } fieldString = fieldInfoDescriptor.StringTrim(fieldString); ConverterBase converterInstance; if (string.Empty.Equals(fieldString) && fieldInfoDescriptor.Converter == null) { if (fieldInfoDescriptor.NullValue != null) { fieldString = fieldInfoDescriptor.NullValue.ToString(); } if (string.Empty.Equals(fieldString) && fieldInfoDescriptor.Converter == null) { if (fieldInfoDescriptor.Type != null) { converterInstance = ConverterFactory.GetDefaultConverter(fieldInfoDescriptor.Type, fieldInfoDescriptor.ConverterFormat); return(converterInstance == null ? fieldString : converterInstance.StringToField(fieldString)); } return(fieldString); } } if (fieldInfoDescriptor.Converter == null && fieldInfoDescriptor.Type == null) { return(fieldString); } if (string.IsNullOrWhiteSpace(fieldString) && fieldInfoDescriptor.NullValue != null) { fieldString = fieldInfoDescriptor.NullValue.ToString(); } converterInstance = fieldInfoDescriptor.Converter == null ? ConverterFactory.GetDefaultConverter(fieldInfoDescriptor.Type, fieldInfoDescriptor.ConverterFormat) : ConverterFactory.GetConverter(fieldInfoDescriptor.Converter, fieldInfoDescriptor.ConverterFormat); return(converterInstance == null ? fieldString : converterInstance.StringToField(fieldString)); }
private static string CreateFieldString(this IFieldInfoDescriptor fieldInfoDescriptor, object fieldValue) { if (fieldInfoDescriptor.Converter == null) { if (fieldValue == null) { return(string.Empty); } return(fieldValue.ToString()); } ConverterBase converterInstance = ConverterFactory.GetConverter(fieldInfoDescriptor.Converter, fieldInfoDescriptor.ConverterFormat); return(converterInstance?.FieldToString(fieldValue) ?? string.Empty); }
public static string StringTrim(this IFieldInfoDescriptor recordInfo, string value) { switch (recordInfo.TrimMode) { case TrimMode.None: return(value); case TrimMode.Both: return(value.Trim()); case TrimMode.Left: return(value.TrimStart()); case TrimMode.Right: return(value.TrimEnd()); } return(value); }
public static string ResolveType(this IFieldInfoDescriptor fieldDescriptor) { if (fieldDescriptor.Type == null && fieldDescriptor.Converter == null) { return("string"); } var converterInstance = fieldDescriptor.Converter == null ? ConverterFactory.GetDefaultConverter(fieldDescriptor.Type, fieldDescriptor.ConverterFormat) : ConverterFactory.GetConverter(fieldDescriptor.Converter, fieldDescriptor.ConverterFormat); if (converterInstance == null) { return("string"); } return(converterInstance.FieldType); }
public static string CreateFieldString(this IFieldInfoDescriptor fieldBuilder, object fieldValue) { ConverterBase converterInstance = null; if (fieldBuilder.Type != null || fieldBuilder.Converter != null) { converterInstance = fieldBuilder.Converter == null ? ConverterFactory.GetDefaultConverter(fieldBuilder.Type, fieldBuilder.ConverterFormat) : ConverterFactory.GetConverter(fieldBuilder.Converter, fieldBuilder.ConverterFormat); } if (converterInstance == null) { if (fieldValue == null) { return(string.Empty); } return(fieldValue.ToString()); } return(converterInstance.FieldToString(fieldValue) ?? string.Empty); }
internal static string RecordToString(this IFieldInfoDescriptor fieldInfoDescriptor, object record) => fieldInfoDescriptor.CreateFieldString(record);