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;
}
}
}