using AutoMapper; using AutoMapper.Configuration; using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; namespace JSMachine.WMS.WebHost.Exstention { public static class AutoMapperExtension { public static IServiceCollection AddAutoMapper(this IServiceCollection service) { service.TryAddSingleton(); service.TryAddSingleton(serviceProvider => { var mapperConfigurationExpression = serviceProvider.GetRequiredService(); var instance = new MapperConfiguration(mapperConfigurationExpression); //instance.AssertConfigurationIsValid(); return instance; }); service.TryAddSingleton(serviceProvider => { var mapperConfiguration = serviceProvider.GetRequiredService(); return mapperConfiguration.CreateMapper(); }); return service; } public static IMapperConfigurationExpression UseAutoMapper(this IApplicationBuilder applicationBuilder) { return applicationBuilder.ApplicationServices.GetRequiredService(); } } }