Ejemplo n.º 1
0
            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);
        }
Ejemplo n.º 3
0
            /// <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);
            }
Ejemplo n.º 4
0
 public Config()
 {
     this.CultureObject = new Lazy <CultureInfo>(() => CultureTypeConverter.GetCulture(this.Culture));
 }