public static ObjectMappingData <TSource, TTarget> ForChild <TSource, TTarget>( TSource source, TTarget target, int?enumerableIndex, string targetMemberRegistrationName, int dataSourceIndex, IObjectMappingDataUntyped parent) { var mapperKey = new ChildObjectMapperKey( MappingTypes <TSource, TTarget> .Fixed, targetMemberRegistrationName, dataSourceIndex); var mappingData = CreateMappingData(source, target, enumerableIndex, mapperKey, parent); if (!ChildMappersNeeded(mappingData.Parent)) { return(mappingData); } var parentMappingData = GetParentMappingData(mappingData); var mapperData = parentMappingData.MapperData.ChildMapperDatas.HasOne() ? parentMappingData.MapperData.ChildMapperDatas.First() : parentMappingData.MapperData.ChildMapperDatas.First(md => (md.DataSourceIndex == dataSourceIndex) && (md.TargetMember.RegistrationName == targetMemberRegistrationName)); mappingData.SetMapper(mapperData.Mapper); return(mappingData); }
public static ObjectMappingData <TSource, TTarget> ForChild <TSource, TTarget>( TSource source, TTarget target, int?elementIndex, object elementKey, string targetMemberRegistrationName, int dataSourceIndex, IObjectMappingDataUntyped parent) { var mapperKey = new ChildObjectMapperKey( MappingTypes <TSource, TTarget> .Fixed, targetMemberRegistrationName, dataSourceIndex); var mappingData = CreateMappingData(source, target, elementIndex, elementKey, mapperKey, parent); if (!mappingData.SubMappingNeeded(out var parentMappingData)) { return(mappingData); } var mapperData = parentMappingData.MapperData.ChildMapperDatasOrEmpty.FirstOrDefault(md => (md.DataSourceIndex == dataSourceIndex) && (md.TargetMember.RegistrationName == targetMemberRegistrationName)); if (mapperData != null) { mappingData.SetMapper(mapperData.Mapper); } return(mappingData); }
public static ObjectMappingData <TSourceElement, TTargetElement> ForElement <TSourceElement, TTargetElement>( TSourceElement sourceElement, TTargetElement targetElement, int enumerableIndex, IObjectMappingDataUntyped parent) { var mapperKey = new ElementObjectMapperKey(MappingTypes <TSourceElement, TTargetElement> .Fixed); var mappingData = CreateMappingData(sourceElement, targetElement, enumerableIndex, mapperKey, parent); if (ChildMappersNeeded(mappingData.Parent)) { mappingData.SetMapper( GetParentMappingData(mappingData).MapperData.ChildMapperDatas.First().Mapper); } return(mappingData); }
public static ObjectMappingData <TSourceElement, TTargetElement> ForElement <TSourceElement, TTargetElement>( TSourceElement sourceElement, TTargetElement targetElement, int enumerableIndex, IObjectMappingDataUntyped parent) { var mapperKey = new ElementObjectMapperKey(MappingTypes.Fixed <TSourceElement, TTargetElement>()); var mappingDataParent = (IObjectMappingData)parent; return(new ObjectMappingData <TSourceElement, TTargetElement>( sourceElement, targetElement, enumerableIndex, mapperKey, mappingDataParent.MappingContext, mappingDataParent)); }
public static ObjectMappingData <TSourceElement, TTargetElement> ForElement <TSourceElement, TTargetElement>( TSourceElement sourceElement, TTargetElement targetElement, int elementIndex, object elementKey, IObjectMappingDataUntyped parent) { var mapperKey = new ElementObjectMapperKey(MappingTypes <TSourceElement, TTargetElement> .Fixed); var mappingData = CreateMappingData(sourceElement, targetElement, elementIndex, elementKey, mapperKey, parent); if (mappingData.SubMappingNeeded(out var parentMappingData)) { mappingData.SetMapper( parentMappingData.MapperData.ChildMapperDatas.First().Mapper); } return(mappingData); }
private static ObjectMappingData <TSource, TTarget> CreateMappingData <TSource, TTarget>( TSource source, TTarget target, int?enumerableIndex, ObjectMapperKeyBase mapperKey, IObjectMappingDataUntyped parent) { var mappingDataParent = (IObjectMappingData)parent; return(new ObjectMappingData <TSource, TTarget>( source, target, enumerableIndex, mapperKey.MappingTypes, mappingDataParent.MappingContext, mappingDataParent) { MapperKey = mapperKey }); }
public static ObjectMappingData <TSource, TTarget> ForChild <TSource, TTarget>( TSource source, TTarget target, int?enumerableIndex, string targetMemberRegistrationName, int dataSourceIndex, IObjectMappingDataUntyped parent) { var mapperKey = new ChildObjectMapperKey( targetMemberRegistrationName, dataSourceIndex, MappingTypes.Fixed <TSource, TTarget>()); var mappingDataParent = (IObjectMappingData)parent; return(new ObjectMappingData <TSource, TTarget>( source, target, enumerableIndex, mapperKey, mappingDataParent.MappingContext, mappingDataParent)); }