コード例 #1
0
        protected override void MapInternal(Reflection.InitContext initContext, IMapDataSource source, object sourceObject, IMapDataDestination dest, object destObject, params object[] parameters)
        {
            FullObjectMapper mapper = (FullObjectMapper)initContext.ObjectMapper;
            IDataReader dataReader = (IDataReader)sourceObject;

            //int[] index = GetIndex(source, dest);
            //IValueMapper[] mappers = GetValueMappers(source, dest, index);

            //foreach (var valueMapper in mappers)
            //{
                
            //}

            InitSchema(dataReader);

            if (mapper.ColParent)
            {
                FillObject(mapper, dataReader, destObject);
                while (dataReader.Read())
                {
                    destObject = FillObject(destObject, mapper, dataReader);
                }
            }
            else
                 FillObject(mapper, dataReader, destObject);
        }
コード例 #2
0
 public static void MapSourceToDestination(
     IMapDataSource source, object sourceObject,
     IMapDataDestination dest, object destObject,
     params object[]     parameters)
 {
     _defaultSchema.MapSourceToDestination(source, sourceObject, dest, destObject, parameters);
 }
コード例 #3
0
ファイル: ValueMapping.cs プロジェクト: x64/bltoolkit
            public void Map(
                IMapDataSource source, object sourceObject, int sourceIndex,
                IMapDataDestination dest, object destObject, int destIndex)
            {
                dest.SetValue(destObject, destIndex, source.GetValue(sourceObject, sourceIndex));

                //object o = source.GetValue(sourceObject, sourceIndex);

                //if (o == null) dest.SetNull (destObject, destIndex);
                //else           dest.SetValue(destObject, destIndex, o);
            }
コード例 #4
0
ファイル: ValueMapping.cs プロジェクト: x64/bltoolkit
            public void Map(
                IMapDataSource source, object sourceObject, int sourceIndex,
                IMapDataDestination dest, object destObject, int destIndex)
            {
                if (source.IsNull(sourceObject, sourceIndex))
                {
                    dest.SetNull(destObject, destIndex);
                }
                else
                {
                    var setter = MapSetData <T> .I;
                    var getter = MapGetData <T> .I;

                    setter.To(dest, destObject, destIndex,
                              getter.From(source, sourceObject, sourceIndex));
                }
            }
コード例 #5
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class NR8 : MB <Double?>     { public override void To(IMapDataDestination d, object o, int i, Double?v)
                                       {
                                           d.SetNullableDouble(o, i, v);
                                       }
コード例 #6
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class NU64 : MB <UInt64?>     { public override void To(IMapDataDestination d, object o, int i, UInt64?v)
                                        {
                                            d.SetNullableUInt64(o, i, v);
                                        }
コード例 #7
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class NI32 : MB <Int32?>      { public override void To(IMapDataDestination d, object o, int i, Int32?v)
                                        {
                                            d.SetNullableInt32(o, i, v);
                                        }
コード例 #8
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class EU8 <E> : MB <E>         { public override void To(IMapDataDestination d, object o, int i, E v)
                                         {
                                             d.SetByte(o, i, (Byte)(object)v);
                                         }
コード例 #9
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class DTO : MB <DateTimeOffset> { public override void To(IMapDataDestination d, object o, int i, DateTimeOffset v)
                                          {
                                              d.SetDateTimeOffset(o, i, v);
                                          }
コード例 #10
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class G : MB <Guid>        { public override void To(IMapDataDestination d, object o, int i, Guid v)
                                     {
                                         d.SetGuid(o, i, v);
                                     }
コード例 #11
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class NEI32 <E> : MB <E?> where E : struct { public override void To(IMapDataDestination d, object o, int i, E?v) /*if (null == v) d.SetNull(o, i); else*/ d
コード例 #12
0
ファイル: TypeMapper.cs プロジェクト: Gremlin2/bookscanner
 public override void Map(IMapDataSource source, object sourceObject, int sourceIndex, IMapDataDestination destination, object destinationObject, int destinationIndex)
 {
     if(source.IsNull(sourceObject, sourceIndex))
     {
         destination.SetDecimal(destinationObject, destinationIndex, 0);
     }
     else
     {
         destination.SetDecimal(destinationObject, destinationIndex, Convert.ToDecimal(source.GetByte(sourceObject, sourceIndex)));
     }
 }
コード例 #13
0
ファイル: TypeMapper.cs プロジェクト: Gremlin2/bookscanner
 public override void Map(IMapDataSource source, object sourceObject, int sourceIndex, IMapDataDestination destination, object destinationObject, int destinationIndex)
 {
     if(source.IsNull(sourceObject, sourceIndex))
     {
         destination.SetString(destinationObject, destinationIndex, null);
     }
     else
     {
         destination.SetString(destinationObject, destinationIndex, source.GetString(sourceObject, sourceIndex));
     }
 }
コード例 #14
0
ファイル: TypeMapper.cs プロジェクト: Gremlin2/bookscanner
 public override void Map(IMapDataSource source, object sourceObject, int sourceIndex, IMapDataDestination destination, object destinationObject, int destinationIndex)
 {
     if(source.IsNull(sourceObject, sourceIndex))
     {
         destination.SetFloat(destinationObject, destinationIndex, 0);
     }
     else
     {
         destination.SetFloat(destinationObject, destinationIndex, Convert.ToSingle(source.GetString(sourceObject, sourceIndex)));
     }
 }
コード例 #15
0
ファイル: TypeMapper.cs プロジェクト: Gremlin2/bookscanner
 public override void Map(IMapDataSource source, object sourceObject, int sourceIndex, IMapDataDestination destination, object destinationObject, int destinationIndex)
 {
     if(source.IsNull(sourceObject, sourceIndex))
     {
         destination.SetDateTime(destinationObject, destinationIndex, DateTime.MinValue);
     }
     else
     {
         destination.SetDateTime(destinationObject, destinationIndex, Convert.ToDateTime(source.GetString(sourceObject, sourceIndex)));
     }
 }
コード例 #16
0
ファイル: TypeMapper.cs プロジェクト: Gremlin2/bookscanner
 public override void Map(IMapDataSource source, object sourceObject, int sourceIndex, IMapDataDestination destination, object destinationObject, int destinationIndex)
 {
     if(source.IsNull(sourceObject, sourceIndex))
     {
         destination.SetNullableInt64(destinationObject, destinationIndex, null);
     }
     else
     {
         destination.SetNullableInt64(destinationObject, destinationIndex, Convert.ToInt64(source.GetFloat(sourceObject, sourceIndex)));
     }
 }
コード例 #17
0
ファイル: TypeMapper.cs プロジェクト: Gremlin2/bookscanner
 public override void Map(IMapDataSource source, object sourceObject, int sourceIndex, IMapDataDestination destination, object destinationObject, int destinationIndex)
 {
     if(source.IsNull(sourceObject, sourceIndex))
     {
         destination.SetBoolean(destinationObject, destinationIndex, false);
     }
     else
     {
         destination.SetBoolean(destinationObject, destinationIndex, Convert.ToBoolean(source.GetFloat(sourceObject, sourceIndex)));
     }
 }
コード例 #18
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class ND : MB <Decimal?>    { public override void To(IMapDataDestination d, object o, int i, Decimal?v)
                                      {
                                          d.SetNullableDecimal(o, i, v);
                                      }
コード例 #19
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class NG : MB <Guid?>       { public override void To(IMapDataDestination d, object o, int i, Guid?v)
                                      {
                                          d.SetNullableGuid(o, i, v);
                                      }
コード例 #20
0
			public void Map(
				IMapDataSource source, object sourceObject, int sourceIndex,
				IMapDataDestination dest, object destObject, int destIndex)
			{
				dest.SetValue(destObject, destIndex, source.GetValue(sourceObject, sourceIndex));

				//object o = source.GetValue(sourceObject, sourceIndex);

				//if (o == null) dest.SetNull (destObject, destIndex);
				//else           dest.SetValue(destObject, destIndex, o);
			}
コード例 #21
0
ファイル: TypeMapper.cs プロジェクト: Gremlin2/bookscanner
 public override void Map(IMapDataSource source, object sourceObject, int sourceIndex, IMapDataDestination destination, object destinationObject, int destinationIndex)
 {
     if(source.IsNull(sourceObject, sourceIndex))
     {
         destination.SetNullableDateTime(destinationObject, destinationIndex, null);
     }
     else
     {
         destination.SetNullableDateTime(destinationObject, destinationIndex, Convert.ToDateTime(source.GetBoolean(sourceObject, sourceIndex)));
     }
 }
コード例 #22
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 // Default setter.
 //
 public sealed class Default <V> : MB <V>     { public override void To(IMapDataDestination d, object o, int i, V v)
                                                {
                                                    d.SetValue(o, i, v);
                                                }
コード例 #23
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class DT : MB <DateTime>    { public override void To(IMapDataDestination d, object o, int i, DateTime v)
                                      {
                                          d.SetDateTime(o, i, v);
                                      }
コード例 #24
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class U8 : MB <Byte>        { public override void To(IMapDataDestination d, object o, int i, Byte v)
                                      {
                                          d.SetByte(o, i, v);
                                      }
コード例 #25
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class EI32 <E> : MB <E>         { public override void To(IMapDataDestination d, object o, int i, E v)
                                          {
                                              d.SetInt32(o, i, (Int32)(object)v);
                                          }
コード例 #26
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class U16 : MB <UInt16>      { public override void To(IMapDataDestination d, object o, int i, UInt16 v)
                                       {
                                           d.SetUInt16(o, i, v);
                                       }
コード例 #27
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class EU64 <E> : MB <E>         { public override void To(IMapDataDestination d, object o, int i, E v)
                                          {
                                              d.SetUInt64(o, i, (UInt64)(object)v);
                                          }
コード例 #28
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class U32 : MB <UInt32>      { public override void To(IMapDataDestination d, object o, int i, UInt32 v)
                                       {
                                           d.SetUInt32(o, i, v);
                                       }
コード例 #29
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class NU8 : MB <Byte?>       { public override void To(IMapDataDestination d, object o, int i, Byte?v)
                                       {
                                           d.SetNullableByte(o, i, v);
                                       }
コード例 #30
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class U64 : MB <UInt64>      { public override void To(IMapDataDestination d, object o, int i, UInt64 v)
                                       {
                                           d.SetUInt64(o, i, v);
                                       }
コード例 #31
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class NR4 : MB <Single?>     { public override void To(IMapDataDestination d, object o, int i, Single?v)
                                       {
                                           d.SetNullableSingle(o, i, v);
                                       }
コード例 #32
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class R4 : MB <Single>      { public override void To(IMapDataDestination d, object o, int i, Single v)
                                      {
                                          d.SetSingle(o, i, v);
                                      }
コード例 #33
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class NB : MB <Boolean?>    { public override void To(IMapDataDestination d, object o, int i, Boolean?v)
                                      {
                                          d.SetNullableBoolean(o, i, v);
                                      }
コード例 #34
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class R8 : MB <Double>      { public override void To(IMapDataDestination d, object o, int i, Double v)
                                      {
                                          d.SetDouble(o, i, v);
                                      }
コード例 #35
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class NC : MB <Char?>       { public override void To(IMapDataDestination d, object o, int i, Char?v)
                                      {
                                          d.SetNullableChar(o, i, v);
                                      }
コード例 #36
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class B : MB <Boolean>     { public override void To(IMapDataDestination d, object o, int i, Boolean v)
                                     {
                                         d.SetBoolean(o, i, v);
                                     }
コード例 #37
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class NDTO : MB <DateTimeOffset?> { public override void To(IMapDataDestination d, object o, int i, DateTimeOffset?v)
                                            {
                                                d.SetNullableDateTimeOffset(o, i, v);
                                            }
コード例 #38
0
ファイル: DataMapper.cs プロジェクト: Gremlin2/bookscanner
 public abstract void Map(IMapDataSource source, object sourceObject, int sourceIndex, IMapDataDestination destination, object destinationObject, int destinationIndex);
コード例 #39
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class D : MB <Decimal>     { public override void To(IMapDataDestination d, object o, int i, Decimal v)
                                     {
                                         d.SetDecimal(o, i, v);
                                     }
コード例 #40
0
ファイル: TypeMapper.cs プロジェクト: Gremlin2/bookscanner
 public override void Map(IMapDataSource source, object sourceObject, int sourceIndex, IMapDataDestination destination, object destinationObject, int destinationIndex)
 {
     if(source.IsNull(sourceObject, sourceIndex))
     {
         destination.SetChar(destinationObject, destinationIndex, '\0');
     }
     else
     {
         destination.SetChar(destinationObject, destinationIndex, Convert.ToChar(source.GetNullableInt32(sourceObject, sourceIndex)));
     }
 }
コード例 #41
0
ファイル: MapSetDataT.cs プロジェクト: riverdarda/DataTools
 sealed class C : MB <Char>        { public override void To(IMapDataDestination d, object o, int i, Char v)
                                     {
                                         d.SetChar(o, i, v);
                                     }
コード例 #42
0
		public SimpleDestinationListMapper(IMapDataDestination mapper)
		{
			_mapper = mapper;
		}