protected virtual object GetFieldValueFromString(FieldSettingsBase <T> fieldSettings, string memberValue) { if (fieldSettings.IsNullable && (string.IsNullOrEmpty(memberValue) || memberValue.Equals(fieldSettings.NullValue))) { return(null); } memberValue = fieldSettings.PadLeft ? memberValue.TrimStart(new char[] { fieldSettings.PaddingChar }) : memberValue.TrimEnd(new char[] { fieldSettings.PaddingChar }); try { return(fieldSettings.FieldValueConverter.FromString(memberValue, fieldSettings.FormatProvider)); } catch (Exception ex) { var errorInfo = new ParserErrorInfo { ErrorMessage = ex.Message, FieldName = fieldSettings.PropertyInfo.Name, FieldValue = memberValue, FieldType = fieldSettings.PropertyInfo.PropertyType }; throw new ParserErrorException(errorInfo, ex); } }
protected override object GetFieldValueFromString(FieldSettingsBase <T> fieldSettings, string memberValue) { if (!string.IsNullOrEmpty(Quotes)) { memberValue = memberValue.Replace(Quotes, String.Empty); } return(base.GetFieldValueFromString(fieldSettings, memberValue)); }
protected override string GetStringValueFromField(FieldSettingsBase <T> field, object fieldValue) { var stringValue = base.GetStringValueFromField(field, fieldValue); if (!string.IsNullOrEmpty(Quotes)) { stringValue = string.Format("{0}{1}{0}", Quotes, stringValue); } return(stringValue); }
protected virtual object GetFieldValueFromString(FieldSettingsBase <T> fieldSettings, string memberValue) { if (fieldSettings.IsNullable && (string.IsNullOrEmpty(memberValue) || memberValue.Equals(fieldSettings.NullValue))) { return(null); } memberValue = fieldSettings.PadLeft ? memberValue.TrimStart(new char[] { fieldSettings.PaddingChar }) : memberValue.TrimEnd(new char[] { fieldSettings.PaddingChar }); return(fieldSettings.FieldValueConverter.FromString(memberValue, fieldSettings.FormatProvider)); }
protected virtual string GetStringValueFromField(FieldSettingsBase <T> field, object fieldValue) { if (fieldValue == null) { return(field.NullValue); } string lineValue = field.FieldValueConverter.FromValue(fieldValue, field.FormatProvider); if (lineValue.Length < field.Length) { lineValue = field.PadLeft ? lineValue.PadLeft(field.Length, field.PaddingChar) : lineValue.PadRight(field.Length, field.PaddingChar); } return(lineValue); }