private void ClosedAction() { var culture = CultureTypeConverter.GetCulture(this.ConfigObject.Culture); var comparer = StringComparer.Create(culture, this.ConfigObject.IgnoreCase); var count = 0; foreach (var record in this._data.OrderBy(t => t.Item1, comparer).Select(t => t.Item2)) { var d = count++ / (double)this._data.Count; this.Output?.UpdateProgress(d, true); this.Output?.Push(record); } this.Output?.Close(true); }
private Func <string, DateTime?> CreateParser() { var format = this.ConfigObject.FormatString; var culture = CultureTypeConverter.GetCulture(this.ConfigObject.Culture); DateTime dt; if (string.IsNullOrWhiteSpace(format)) { return(i => DateTime.TryParse(i, culture, DateTimeStyles.AllowWhiteSpaces, out dt) ? (DateTime?)dt : null); } return(i => DateTime.TryParseExact(i, format, culture, DateTimeStyles.AllowWhiteSpaces, out dt) ? (DateTime?)dt : null); }
/// <summary> /// Create Formatter <see cref="Func{TResult}"/> Delegate /// </summary> /// <param name="inputFieldBase"></param> /// <returns></returns> public Func <RecordData, string> CreateFormatter(FieldBase inputFieldBase) { var format = this.FormatString; var culture = CultureTypeConverter.GetCulture(this.Culture); if (string.IsNullOrWhiteSpace(format)) { return(inputFieldBase.GetAsString); } switch (inputFieldBase.FieldType) { case FieldType.E_FT_Bool: return(r => inputFieldBase.GetAsBool(r)?.ToString(culture)); case FieldType.E_FT_Byte: case FieldType.E_FT_Int16: case FieldType.E_FT_Int32: case FieldType.E_FT_Int64: return(r => inputFieldBase.GetAsInt64(r)?.ToString(format, culture)); case FieldType.E_FT_Float: case FieldType.E_FT_Double: case FieldType.E_FT_FixedDecimal: return(r => inputFieldBase.GetAsDouble(r)?.ToString(format, culture)); case FieldType.E_FT_Date: case FieldType.E_FT_DateTime: return(r => inputFieldBase.GetAsDateTime(r)?.ToString(format, culture)); case FieldType.E_FT_Time: return(r => inputFieldBase.GetAsTimeSpan(r)?.ToString(format, culture)); } return(null); }
public Config() { this.CultureObject = new Lazy <CultureInfo>(() => CultureTypeConverter.GetCulture(this.Culture)); }