feat: Hinzufügen und Injizieren von StaffDB-Repositories in den DI-Container

- Registrierte verschiedene Repositories als Scoped in `DIExtensions`.
- Injizierte Repositories in die Methode `ConfigureServices` zur Nutzung in der Anwendung.
This commit is contained in:
Developer 02 2024-08-02 22:46:08 +02:00
parent 9760f6b73f
commit fe01e04966
2 changed files with 48 additions and 2 deletions

43
DAL/DIExtensions.cs Normal file
View File

@ -0,0 +1,43 @@
using DAL.Repositories;
using Microsoft.Extensions.DependencyInjection;
namespace DAL
{
public static class DIExtensions
{
public static IServiceCollection AddStaffDBRepositories(this IServiceCollection services)
{
services.AddScoped<AdWebAppToWebAppRoleRepository>();
services.AddScoped<CostCentreRepository>();
services.AddScoped<DepartmentRepository>();
services.AddScoped<DepartmentToWebAppToEmployeeForWindreamRepository>();
services.AddScoped<DocumentArtRepository>();
services.AddScoped<DocumentArtToDepartmentRepository>();
services.AddScoped<EmployeeAttributeRepository>();
services.AddScoped<EmployeeRepository>();
services.AddScoped<EmployeeStatusRepository>();
services.AddScoped<EmployeeToAttributeRepository>();
services.AddScoped<EmployeeToDepartmentRepository>();
services.AddScoped<EmployeeToWebAppRepository>();
services.AddScoped<ProjectRepository>();
services.AddScoped<RangRepository>();
services.AddScoped<SubsidiaryRepository>();
services.AddScoped<WebAppAdditionalRoleRepository>();
services.AddScoped<WebAppRepository>();
services.AddScoped<WebAppRoleRepository>();
services.AddScoped<WebAppToDepartmentRepository>();
services.AddScoped<WebAppToWebAppAdditionalRoleRepository>();
services.AddScoped<WebAppToWebAppRoleRepository>();
services.AddScoped<WindreamColumnsToDepartmentRepository>();
services.AddScoped<WindreamIndexRepository>();
services.AddScoped<WindreamIndexToWindreamSearchToDepartmentRepository>();
services.AddScoped<WindreamInputFolderRepository>();
services.AddScoped<WindreamSearchItemRepository>();
services.AddScoped<WindreamSearchItemToWindreamSearchToDepartmentRepository>();
services.AddScoped<WindreamSearchRepository>();
services.AddScoped<WindreamSearchToDepartmentRepository>();
return services;
}
}
}

View File

@ -22,15 +22,18 @@ namespace StaffDBServer
services.ConfigureWebApiExtensionsAtFirst(); //at first
services.ConfigureRepositoryWrapper(); //add repos
services.AddDbContext<WebApiContext>(options =>
{
const int dbTimeoutInMin = 5;
var cnnStr = WebApiConfig.ConnectionString(EN_ConnectionType.SQLServer);
options
.UseSqlServer(WebApiConfig.ConnectionString(EN_ConnectionType.SQLServer),
.UseSqlServer(cnnStr,
opts => opts.CommandTimeout((int)TimeSpan.FromMinutes(dbTimeoutInMin).TotalSeconds));
});
services.AddStaffDBRepositories();
services.ConfigureWebApiExtensionsEnd(); //should come last
}