protected virtual void AddAutoMapper(IServiceCollection services, ITypeFinder typeFinder) { //find mapper configurations provided by other assemblies var mapperConfigurations = typeFinder.FindClassesOfType <IOrderedMapperProfile>(); //create and sort instances of mapper configurations var instances = mapperConfigurations .Select(mapperConfiguration => (IOrderedMapperProfile)Activator.CreateInstance(mapperConfiguration)) .OrderBy(mapperConfiguration => mapperConfiguration.Order); //create AutoMapper configuration var config = new MapperConfiguration(cfg => { foreach (var instance in instances) { cfg.AddProfile(instance.GetType()); } }); //register AutoMapperConfiguration.Init(config); }
/// <summary> /// Executes a task /// </summary> public void Execute() { AutoMapperConfiguration.Init(); }