Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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));
        }
Exemple #4
0
        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>();
        }