Esempio n. 1
0
        IDictionary <string, string> ProcessRow(IDictionary <string, object> row, ExportType exportType)
        {
            var dico = new Dictionary <string, string>();

            foreach (var field in row)
            {
                Property prop = Map.FindPropertyByColumnName(field.Key);
                if (prop == null)
                {
                    continue;
                }

                string value;
                string key;

                if (exportType == ExportType.Sql)
                {
                    key = ExportDialect.Escape(field.Key);
                    var clrType   = ExportDialect.GetClrType(prop.DbType, prop.IsNullable);
                    var converter = TypeConverterStore.GetConverterFactoryMethod(clrType);
                    var clrValue  = converter(field.Value);
                    value = ExportDialect.GetValueAsSqlString(clrValue, prop);
                }
                else
                {
                    key   = field.Key;
                    value = DbTypeConverter.ConvertTo <string>(field.Value);
                }

                dico.Add(key, value);
            }

            return(dico);
        }
Esempio n. 2
0
 void Load()
 {
     AddConverter(typeof(string), DbTypeConverter.ConvertTo <string>);
     //byte
     AddConverter(typeof(byte?), (x) => DbTypeConverter.ConvertTo <byte?>(x));
     AddConverter(typeof(byte), (x) => DbTypeConverter.ConvertTo <byte>(x));
     //Int16
     AddConverter(typeof(short?), (x) => DbTypeConverter.ConvertTo <short?>(x));
     AddConverter(typeof(short), (x) => DbTypeConverter.ConvertTo <short>(x));
     //Int32
     AddConverter(typeof(int?), (x) => DbTypeConverter.ConvertTo <int?>(x));
     AddConverter(typeof(int), (x) => DbTypeConverter.ConvertTo <int>(x));
     //Int64
     AddConverter(typeof(long?), (x) => DbTypeConverter.ConvertTo <long?>(x));
     AddConverter(typeof(long), (x) => DbTypeConverter.ConvertTo <long>(x));
     //Datetime
     AddConverter(typeof(DateTime?), (x) => DbTypeConverter.ConvertTo <DateTime?>(x));
     AddConverter(typeof(DateTime), (x) => DbTypeConverter.ConvertTo <DateTime>(x));
     //DatetimeOffset
     AddConverter(typeof(DateTimeOffset?), (x) => DbTypeConverter.ConvertTo <DateTimeOffset?>(x));
     AddConverter(typeof(DateTimeOffset), (x) => DbTypeConverter.ConvertTo <DateTimeOffset>(x));
     //char
     AddConverter(typeof(char?), (x) => DbTypeConverter.ConvertTo <char?>(x));
     AddConverter(typeof(char), (x) => DbTypeConverter.ConvertTo <char>(x));
     //boolean
     AddConverter(typeof(bool?), (x) => DbTypeConverter.ConvertTo <bool?>(x));
     AddConverter(typeof(bool), (x) => DbTypeConverter.ConvertTo <bool>(x));
     //Guids
     AddConverter(typeof(Guid?), (x) => DbTypeConverter.ConvertTo <Guid?>(x));
     AddConverter(typeof(Guid), (x) => DbTypeConverter.ConvertTo <Guid>(x));
     //single
     AddConverter(typeof(float?), (x) => DbTypeConverter.ConvertTo <float?>(x));
     AddConverter(typeof(float), (x) => DbTypeConverter.ConvertTo <float>(x));
     //double
     AddConverter(typeof(double?), (x) => DbTypeConverter.ConvertTo <double?>(x));
     AddConverter(typeof(double), (x) => DbTypeConverter.ConvertTo <double>(x));
     //decimal
     AddConverter(typeof(decimal?), (x) => DbTypeConverter.ConvertTo <decimal?>(x));
     AddConverter(typeof(decimal), (x) => DbTypeConverter.ConvertTo <decimal>(x));
 }