Release v1.0.0 #16
.envDbInitializer.csDependencyInjection.cs
.gitea/workflows
ApiDto
ApiDto.csproj
Backend.slnCommon
Requests
Configuration
ScheduleRequest.csResponses
Endpoint
Common
Attributes
BadRequestResponseAttribute.csLocalhostAttribute.csMaintenanceModeIgnoreAttribute.csNotFoundResponseAttribute.csTokenAuthenticationAttribute.cs
Exceptions
Interfaces
Services
Configuration
EnvironmentManager.cs
General
Swagger
Controllers
BaseController.cs
Endpoint.csprojConfiguration
V1
CampusController.csDisciplineController.csFacultyController.csGroupController.csLectureHallController.csProfessorController.csScheduleController.cs
WeatherForecastController.csMiddleware
Program.csWeatherForecast.csSecurity
SqlData
Application
Application.csprojDependencyInjection.cs
Common
Cqrs
Campus
Queries
Discipline
Queries
Faculty
Queries
Group
Queries
LectureHall
Queries
Professor
Queries
Schedule
Interfaces
Domain
Domain.csproj
Schedule
Persistence
Common
Contexts
Schedule
EntityTypeConfigurations
Mark.cs
Persistence.csprojUberDbContext.csSqlite
23
SqlData/Persistence/Common/ConfigurationResolver.cs
Normal file
23
SqlData/Persistence/Common/ConfigurationResolver.cs
Normal file
@ -0,0 +1,23 @@
|
||||
using Mirea.Api.DataAccess.Persistence.EntityTypeConfigurations;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
|
||||
namespace Mirea.Api.DataAccess.Persistence.Common;
|
||||
|
||||
public static class ConfigurationResolver
|
||||
{
|
||||
public static Type GetConfigurationType<TEntity>(DatabaseProvider provider)
|
||||
where TEntity : class
|
||||
{
|
||||
var entityType = typeof(TEntity);
|
||||
var providerNamespace = typeof(Mark).Namespace + "." + Enum.GetName(provider);
|
||||
|
||||
var assembly = Assembly.GetExecutingAssembly();
|
||||
var configurationType = assembly.GetTypes()
|
||||
.FirstOrDefault(t => t.Namespace != null && t.Namespace.StartsWith(providerNamespace) && t.Name == $"{entityType.Name}Configuration");
|
||||
|
||||
return configurationType ??
|
||||
throw new InvalidOperationException($"Configuration type not found for entity {entityType.Name} and provider {provider}.");
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user