public IEnumerable <TService> GetServices <TService>(IFlashMapperDependencyResolver currentInstnace) where TService : class { var serviceType = typeof(TService); List <Func <IFlashMapperDependencyResolver, object> > typeServiceResolvers; if (serviceResolvers.TryGetValue(serviceType, out typeServiceResolvers)) { foreach (var typeServiceResolver in typeServiceResolvers) { yield return((TService)typeServiceResolver(currentInstnace)); } } var typeCustomServices = customServices.OfType <TService>(); foreach (var customService in typeCustomServices) { yield return(customService); } if (internalConfiguration != null) { var internalServices = internalConfiguration.GetServices <TService>(currentInstnace); foreach (var internalService in internalServices) { yield return(internalService); } } }
public FlashMapperMappingConfigurator(IFlashMapperDependencyResolver internalDependencyResolver) { this.unresolvedPropertyBehavior = UnresolvedPropertyBehavior.Inherit; this.selectSourceCollisionBehavior = SelectSourceCollisionBehavior.Inherit; this.sourceNamingConvention = null; this.destinationNamingConvention = null; this.afterMapCallback = null; this.beforeMapCallback = null; dependencyResolver = new FlashMapperDependencyResolver(internalDependencyResolver, Enumerable.Empty <IFlashMapperService>()); }
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); }
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>(); }
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 FlashMapperCustomServiceBuilderFactory(IFlashMapperDependencyResolver dependencyResolver) { this.dependencyResolver = dependencyResolver; }
public FlashMapperDependencyResolver(IFlashMapperDependencyResolver internalConfiguration, IEnumerable <IFlashMapperService> customServices) { this.customServices = customServices.ToList(); serviceResolvers = new Dictionary <Type, List <Func <IFlashMapperDependencyResolver, object> > >(); this.internalConfiguration = internalConfiguration; }
public FlashMapperCustomServiceBuilder(IFlashMapperDependencyResolver internalDependencyResolver) { dependencyResolver = new FlashMapperDependencyResolver(internalDependencyResolver, Enumerable.Empty <IFlashMapperService>()); }