Ombi/src/Ombi.Mapping/AutoMapperProfile.cs
2017-05-16 08:31:44 +01:00

35 lines
No EOL
1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using AutoMapper;
using AutoMapper.Configuration;
using Microsoft.Extensions.DependencyInjection;
namespace Ombi.Mapping
{
public static class AutoMapperProfile
{
public static IServiceCollection AddOmbiMappingProfile(this IServiceCollection services)
{
System.Reflection.Assembly ass = typeof(AutoMapperProfile).GetTypeInfo().Assembly;
var assemblies = new List<Type>();
foreach (System.Reflection.TypeInfo ti in ass.DefinedTypes)
{
if (ti.ImplementedInterfaces.Contains(typeof(IProfileConfiguration)))
{
assemblies.Add(ti.AsType());
}
}
var config = new AutoMapper.MapperConfiguration(cfg =>
{
cfg.AddProfiles(assemblies);
});
var mapper = config.CreateMapper();
services.AddSingleton(mapper);
return services;
}
}
}