mirror of
https://github.com/farcasclaudiu/PracticeCalendar.git
synced 2026-06-22 05:01:15 +03:00
8d68f1b7a1
* test domain events * cleanup
37 lines
1.3 KiB
C#
37 lines
1.3 KiB
C#
using Mapster;
|
|
using MapsterMapper;
|
|
using MediatR;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using PracticeCalendar.Application.PracticeEvents.Queries;
|
|
using PracticeCalendar.Domain.Entities;
|
|
using System.Reflection;
|
|
|
|
namespace PracticeCalendar.Application
|
|
{
|
|
public static class ConfigureServices
|
|
{
|
|
public static IServiceCollection AddApplicationServices(this IServiceCollection services)
|
|
{
|
|
services.AddMapsterMappings();
|
|
services.AddMediatR(Assembly.GetExecutingAssembly());
|
|
|
|
return services;
|
|
}
|
|
|
|
private static IServiceCollection AddMapsterMappings(this IServiceCollection services)
|
|
{
|
|
TypeAdapterConfig.GlobalSettings.Default.MapToConstructor(true);
|
|
TypeAdapterConfig.GlobalSettings.NewConfig<PracticeEventDto, PracticeEvent>()
|
|
.ConstructUsing(src => new PracticeEvent(src.Title, src.Description, src.StartTime, src.EndTime));
|
|
|
|
var mapsterConfig = new TypeAdapterConfig();
|
|
mapsterConfig.NewConfig<PracticeEventDto, PracticeEvent>()
|
|
.MapToConstructor(true)
|
|
.ConstructUsing(src => new PracticeEvent(src.Title, src.Description, src.StartTime, src.EndTime));
|
|
services.AddSingleton<IMapper>(new Mapper(mapsterConfig));
|
|
|
|
return services;
|
|
}
|
|
}
|
|
}
|