예제 #1
0
        public static IServiceCollection AddMapper(this IServiceCollection services)
        {
            AutoMapper.IConfigurationProvider configuration = new MapperConfiguration(config =>
            {
                config.AddProfile <ApplicationServiceProfile>();
            });

            services.AddSingleton(configuration);

            services.AddScoped <IMapper, Mapper>();

            var mapperService = services.BuildServiceProvider().GetService <IMapper>();

            ObjectMapperFactory.SetObjectMapper(new AutoMapAdapter(mapperService));

            return(services);
        }
예제 #2
0
        internal static void AddMapper(this IServiceCollection services, IObjectMapper objectMapper)
        {
            if (objectMapper is null)
            {
                objectMapper.AddAutoMapperConfiguration(services, confg => {});

                services.AddScoped <IMapper, Mapper>();

                var mapperService = services.BuildServiceProvider().GetService <IMapper>();

                ObjectMapperFactory.SetObjectMapper(new AutoMapAdapter(mapperService));

                return;
            }

            ObjectMapperFactory.SetObjectMapper(objectMapper);
        }