// Typed Submit Raw Auto public IAutoMapperRequestKey <TSource, TDestination> SubmitRawAutoMapperRequest <TSource, TDestination> ( IMapTypeDefinition srcMapTypeDef, IMapTypeDefinition dstMapTypeDef, IAutoMapperConfigDetails configuationDetails, IConfigureAMapper <TSource, TDestination> mappingConfiguration, IHaveAMapperConfigurationStep configStarterForThisRequest ) { // Create a MapperBuilder for this request. IAutoMapperBuilder <TSource, TDestination> autoMapperBuilder = BuildTheAutoMapperBuilder <TSource, TDestination>(configStarterForThisRequest); // Create the mapper request. IAutoMapperRequestKey <TSource, TDestination> autoMapperRequestKey = new AutoMapperRequestKey <TSource, TDestination> ( sourceMapTypeDef: srcMapTypeDef, destinationMapTypeDef: dstMapTypeDef, autoMapperConfigDetails: configuationDetails, mappingConfiguration: mappingConfiguration, autoMapperBuilder: autoMapperBuilder); IAutoMapperRequestKeyGen response_AutoMapperRequestKey = RegisterAutoMapperRequest(autoMapperRequestKey); return((IAutoMapperRequestKey <TSource, TDestination>)response_AutoMapperRequestKey); }
// Submit with Configuaration Package Name public IAutoMapperRequestKey <TSource, TDestination> SubmitRawAutoMapperRequest <TSource, TDestination> ( IMapTypeDefinition srcMapTypeDef, IMapTypeDefinition dstMapTypeDef, IAutoMapperConfigDetails configuationDetails, string configPackageName, IHaveAMapperConfigurationStep configStarterForThisRequest ) { if (_mapperConfigurationLookupService == null) { throw new InvalidOperationException("The AutoMapperService has no MapperConfigurationLookup Service."); } // Lookup the package name and return a mapping configuration. IConfigureAMapper <TSource, TDestination> mappingConfiguration = _mapperConfigurationLookupService.GetTheMapperConfig <TSource, TDestination>(configPackageName); IAutoMapperRequestKey <TSource, TDestination> result = SubmitRawAutoMapperRequest ( srcMapTypeDef, dstMapTypeDef, configuationDetails, mappingConfiguration, configStarterForThisRequest ); return(result); }
// The Typed method for RawAutoMappers static IAutoMapperRequestKey <TSource, TDestination> SubmitRawAutoMapperRequest <TSource, TDestination> ( IAutoMapperConfigDetails autoMapperConfigDetails, Type sourceType, Type destinationType, string configPackageName, IHaveAMapperConfigurationStep configStarterForThisRequest, IAutoMapperService autoMapperProvider ) { IMapTypeDefinition srcMapTypeDef = new MapTypeDefinition(typeof(TSource)); IMapTypeDefinition dstMapTypeDef = new MapTypeDefinition(typeof(TDestination)); IAutoMapperRequestKey <TSource, TDestination> result = autoMapperProvider.SubmitRawAutoMapperRequest <TSource, TDestination> ( srcMapTypeDef: srcMapTypeDef, dstMapTypeDef: dstMapTypeDef, configuationDetails: autoMapperConfigDetails, configPackageName: configPackageName, configStarterForThisRequest: configStarterForThisRequest ); return(result); }
public AutoMapperRequestKeyGen ( IMapTypeDefinition sourceTypeGenDef, IMapTypeDefinition destinationTypeGenDef, IAutoMapperConfigDetails autoMapperConfigDetails, Func <IAutoMapperRequestKeyGen, IMapper> autoMapperBuilder) { SourceTypeDef = sourceTypeGenDef; DestinationTypeDef = destinationTypeGenDef; AutoMapperConfigDetails = autoMapperConfigDetails; AutoMapperBuilder = autoMapperBuilder; }
// Gen Submit public IAutoMapperRequestKeyGen SubmitRawAutoMapperRequest ( Type sourceType, Type destinationType, IAutoMapperConfigDetails autoMapperConfigDetails, string configPackageName, IHaveAMapperConfigurationStep configStarterForThisRequest ) { AutoMapperReqSubDelegate mapperRequestSubmitter = GetAutoMapperReqSubDelegate(sourceType, destinationType); IAutoMapperRequestKeyGen result = mapperRequestSubmitter(autoMapperConfigDetails, sourceType, destinationType, configPackageName, configStarterForThisRequest, this); return(result); }
//public Func<TDestination, TSource> SourceConstructor => MappingConfiguration.SourceConstructor; //public Func<TSource, TDestination> DestinationConstructor => MappingConfiguration.DestinationConstructor; #endregion #region Constructor public AutoMapperRequestKey ( IMapTypeDefinition sourceMapTypeDef, IMapTypeDefinition destinationMapTypeDef, IAutoMapperConfigDetails autoMapperConfigDetails, IConfigureAMapper <TSource, TDestination> mappingConfiguration, IAutoMapperBuilder <TSource, TDestination> autoMapperBuilder ) : base ( sourceMapTypeDef, destinationMapTypeDef, autoMapperConfigDetails, autoMapperBuilder.AutoMapperBuilderGen ) { MappingConfiguration = mappingConfiguration; }