using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; using MP.AppAuth.Controllers; using MP.AppAuth.Services; using MP.Data.Controllers; using MP.Data.Repository.Anag; using MP.Data.Repository.Dossier; using MP.Data.Repository.FluxLog; using MP.Data.Repository.IOC; using MP.Data.Repository.MpLand; using MP.Data.Repository.MpMon; using MP.Data.Repository.MpVoc; using MP.Data.Repository.Mtc; using MP.Data.Repository.Production; using MP.Data.Repository.System; 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 LAND /// /// /// public static IServiceCollection AddLandDataLayer(this IServiceCollection services) { services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddSingleton(); return services; } /// /// Aggiunta repository/servizi specifici per MON /// /// /// public static IServiceCollection AddMonDataLayer(this IServiceCollection services) { services.TryAddSingleton(); services.TryAddSingleton(); return services; } /// /// Aggiunta repository/servizi specifici per SPEC /// /// /// public static IServiceCollection AddSpecDataLayer(this IServiceCollection services) { // ---------- Start Repository ---------- services.TryAddScoped(); services.TryAddScoped(); services.TryAddScoped(); services.TryAddScoped(); services.TryAddScoped(); services.TryAddScoped(); services.TryAddScoped(); services.TryAddScoped(); // ---------- End Repository ---------- // ---------- Start Servizi ---------- //services.TryAddSingleton(); // ---------- End Servizi ---------- // ---------- Start Altro ---------- services.TryAddScoped(); services.TryAddScoped(); services.TryAddScoped(); services.TryAddScoped(); services.TryAddScoped(); services.TryAddScoped(); services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddScoped(); services.AddScoped(); services.AddScoped(); // ---------- End Altro ---------- return services; } } }