using Mapster; using Microsoft.Extensions.DependencyInjection; using Persistence.Database.Model; using Persistence.Models; using Persistence.Repositories; using Persistence.Repository.Repositories; namespace Persistence.Repository; public static class DependencyInjection { public static void MapsterSetup() { TypeAdapterConfig.GlobalSettings.Default.Config .ForType<ChangeLog, ChangeLogDto>() .Map(dest => dest.Value, src => new DataWithWellDepthAndSectionDto() { DepthEnd = src.DepthEnd, DepthStart = src.DepthStart, IdSection = src.IdSection, Value = src.Value, Id = src.Id }); } public static IServiceCollection AddInfrastructure(this IServiceCollection services) { MapsterSetup(); services.AddTransient<ITimeSeriesDataRepository<DataSaubDto>, TimeSeriesDataRepository<DataSaub, DataSaubDto>>(); services.AddTransient<ISetpointRepository, SetpointRepository>(); services.AddTransient<ITimeSeriesDataRepository<DataSaubDto>, TimeSeriesDataCachedRepository<DataSaub, DataSaubDto>>(); services.AddTransient<IChangeLogRepository, ChangeLogRepository>(); services.AddTransient<ITimestampedSetRepository, TimestampedSetRepository>(); services.AddTransient<ITechMessagesRepository, TechMessagesRepository>(); services.AddTransient<IParameterRepository, ParameterRepository>(); services.AddTransient<IDataSourceSystemRepository, DataSourceSystemCachedRepository>(); return services; } }