private IFlashMapperSettings ResolveCustomSettings(Func <IFlashMapperSettingsBuilder, IFlashMapperSettingsBuilder> settings, IFlashMapperDependencyResolver resolver) { var settingsBuilder = resolver.GetService <IFlashMapperSettingsBuilderFactory>().GetBuilder(); var customSettings = settings(settingsBuilder).GetSettings(); var defaultFlashMapperSettings = resolver.GetService <IFlashMapperSettings>(); var mappingSettings = resolver.GetService <IFlashMapperSettingsExtender>() .Extend(defaultFlashMapperSettings, customSettings); return(mappingSettings); }
private IMappingConfiguration CreateMapping <TSource, TDestination>(Expression <Func <TSource, TDestination> > mappingExpression, IFlashMapperDependencyResolver resolver, IFlashMapperMappingCallbacks <TSource, TDestination> callbacks) { var mappingGenerator = resolver.GetService <IMappingGenerator>(); var mapping = mappingGenerator.GenerateCompleteMapping(mappingExpression, callbacks); mappingsStorage.SetMapping(mapping); return(this); }
public void CreateMapping <TSource, TDestination>(Expression <Func <TSource, TDestination> > mappingExpression, Func <IFlashMapperSettingsBuilder, IFlashMapperSettingsBuilder> settings, Func <IFlashMapperCustomServiceBuilder, IFlashMapperCustomServiceBuilder> customServicesRegistration) { var flashMapperCustomServiceBuilderFactory = dependencyResolver .GetService <IFlashMapperCustomServiceBuilderFactory>(); var customSettings = ResolveCustomSettings(settings, dependencyResolver); var flashMapperCustomServiceBuilder = flashMapperCustomServiceBuilderFactory.Create(); var resolver = customServicesRegistration(flashMapperCustomServiceBuilder) .RegisterService(r => customSettings) .GetResultDependencyResolver(); CreateMapping(mappingExpression, resolver, new FlashMapperMappingCallbacks <TSource, TDestination>(null, null)); }
public MappingConfiguration(IEnumerable <IFlashMapperService> customServices) { var customServicesArray = customServices.ToArray(); this.customServices = customServicesArray; InstanceId = Guid.NewGuid(); dependencyResolver = customServicesArray.Length > 0 ? new FlashMapperDependencyResolver(ModuleConfiguration.GetDefaultResolver(), customServicesArray) : ModuleConfiguration.GetDefaultResolver(); mappingsStorage = dependencyResolver.GetService <IMappingsStorageFactory>().Create(this); dependantConfigurations = new List <IMappingConfiguration>(); }