using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; using MP.AppAuth.Services; using MP.Data.Controllers; using MP.Data.Repository.Anag; using MP.Data.Repository.IOC; using MP.Data.Repository.Mtc; using MP.Data.Repository.Utils; using MP.Data.Services; using MP.Data.Services.IOC; using MP.Data.Services.Mtc; using MP.Data.Services.Utils; namespace MP.Data { public static class DataServiceCollectionExtensions { /// /// Aggiunta repository/servizi specifici per IOC /// /// /// public static IServiceCollection AddIocDataLayer(this IServiceCollection services) { // Repository Singleton services.TryAddSingleton(); // Repository Scoped services.TryAddScoped(); services.TryAddScoped(); services.TryAddScoped(); // Servizi Singleton services.TryAddSingleton(); services.TryAddSingleton(); // Servizi Scoped services.TryAddScoped(); services.TryAddScoped(); services.TryAddScoped(); return services; } /// /// Aggiunta repository/servizi specifici per SPEC /// /// /// public static IServiceCollection AddSpecDataLayer(this IServiceCollection services) { // ---------- Start Repository ---------- // Singleton services.TryAddSingleton(); // Scoped // ---------- End Repository ---------- // ---------- Start Servizi ---------- // Singleton // Scoped // ---------- End Servizi ---------- // ---------- Start Altro ---------- // Singleton services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); // Scoped services.AddScoped(); services.AddScoped(); // ---------- End Altro ---------- return services; } } }