39 lines
1.3 KiB
C#
39 lines
1.3 KiB
C#
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<MapperConfigurationExpression>();
|
|
service.TryAddSingleton(serviceProvider =>
|
|
{
|
|
var mapperConfigurationExpression = serviceProvider.GetRequiredService<MapperConfigurationExpression>();
|
|
var instance = new MapperConfiguration(mapperConfigurationExpression);
|
|
|
|
//instance.AssertConfigurationIsValid();
|
|
|
|
return instance;
|
|
});
|
|
service.TryAddSingleton(serviceProvider =>
|
|
{
|
|
var mapperConfiguration = serviceProvider.GetRequiredService<MapperConfiguration>();
|
|
|
|
return mapperConfiguration.CreateMapper();
|
|
});
|
|
|
|
return service;
|
|
}
|
|
|
|
public static IMapperConfigurationExpression UseAutoMapper(this IApplicationBuilder applicationBuilder)
|
|
{
|
|
return applicationBuilder.ApplicationServices.GetRequiredService<MapperConfigurationExpression>();
|
|
}
|
|
}
|
|
}
|