Files
mapo-core/MP.Data/DataServiceCollectionExtensions.cs
T
2026-04-24 09:57:48 +02:00

51 lines
2.1 KiB
C#

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using MP.Data.Controllers;
using MP.Data.Repository.Mtc;
using MP.Data.Repository.Utils;
using MP.Data.Services.Mtc;
using MP.Data.Services.Utils;
namespace MP.Data
{
public static class DataServiceCollectionExtensions
{
public static IServiceCollection AddIocDataLayer(this IServiceCollection services)
{
//// DbContextFactory: preferibile in Blazor Server e scenari concorrenti
//services.AddDbContextFactory<DataLayerContext>(options =>
// options.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString)));
//// servizi preliminari
////services.TryAddSingleton<IConnectionMultiplexer>(redisConn);
//services.TryAddSingleton<IRedisService, RedisService>();
//services.TryAddSingleton<IRedisSubscriptionManager, RedisSubscriptionManager>();
// Repository Singleton
services.TryAddSingleton<IMtcSetupRepository, MtcSetupRepository>();
// Repository Scoped
services.TryAddScoped<IStatsAggrRepository, StatsAggrRepository>();
services.TryAddScoped<IStatsDetailRepository, StatsDetailRepository>();
// Servizi Singleton
services.TryAddSingleton<IMtcSetupService, MtcSetupService>();
services.TryAddSingleton<MpIocController>();
// Servizi Scoped
services.TryAddScoped<IStatsAggrService, StatsAggrService>();
services.TryAddScoped<IStatsDetailService, StatsDetailService>();
//// aggiunta servizi finali Singleton...
//services.TryAddSingleton<IImageCacheService, ImageCacheService>();
//services.TryAddSingleton<IConfigDataService, ConfigDataService>();
//services.TryAddSingleton<ICalcRequestService, CalcRequestService>();
//services.TryAddSingleton<IFileService, FileService>();
//services.TryAddSingleton<IProdService, ProdService>();
return services;
}
}
}