private static IPropBagMapperService GetAutoMapperProvider(ViewModelFactoryInterface viewModelFactory) { IAutoMapperBuilderProvider autoMapperBuilderProvider = new SimpleAutoMapperBuilderProvider(); IAutoMapperCache rawAutoMapperCache = new SimpleAutoMapperCache(); SimpleAutoMapperService autoMapperService = new SimpleAutoMapperService ( autoMapperBuilderProvider: autoMapperBuilderProvider, autoMapperCache: rawAutoMapperCache, mapperConfigurationLookupService: null ); IMapTypeDefinitionProvider mapTypeDefinitionProvider = new SimpleMapTypeDefinitionProvider(); IPropBagMapperBuilderProvider propBagMapperBuilderProvider = new SimplePropBagMapperBuilderProvider(); ICachePropBagMappers mappersCachingService = new SimplePropBagMapperCache(viewModelFactory); IPropBagMapperService propBagMapperService = new SimplePropBagMapperService ( mapTypeDefinitionProvider: mapTypeDefinitionProvider, mapperBuilderProvider: propBagMapperBuilderProvider, mappersCachingService: mappersCachingService, autoMapperService: autoMapperService ); return(propBagMapperService); }
private static IProvideAutoMappers GetAutoMapperProvider(IViewModelActivator viewModelActivator, PSAccessServiceCreatorInterface storeAccessCreator) { // TODO: Expose the creation of wrapperTypeCreator (ICreateWrapperTypes). IPropBagMapperBuilderProvider propBagMapperBuilderProvider = new SimplePropBagMapperBuilderProvider ( wrapperTypesCreator: null, viewModelActivator: viewModelActivator, storeAccessCreator: storeAccessCreator ); IMapTypeDefinitionProvider mapTypeDefinitionProvider = new SimpleMapTypeDefinitionProvider(); ICachePropBagMappers mappersCachingService = new SimplePropBagMapperCache(); // TODO: Remove the dependency on IProvidePropModels. (See TODO note in SimpleAutoMapperProvider.) SimpleAutoMapperProvider autoMapperProvider = new SimpleAutoMapperProvider ( mapTypeDefinitionProvider: mapTypeDefinitionProvider, mappersCachingService: mappersCachingService, mapperBuilderProvider: propBagMapperBuilderProvider, propModelProvider: null ); return(autoMapperProvider); }