From 8faed31baa7164102d7be42aa26a44a73f8c7e9f Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Thu, 13 Jun 2024 13:29:55 +0200 Subject: [PATCH] =?UTF-8?q?Dbcontext=20umbenannt.=20DIExtention=20f=C3=BCr?= =?UTF-8?q?=20modelBuilder=20hinzugef=C3=BCgt,=20um=20OnModelCreating=20zu?= =?UTF-8?q?=20verwenden.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DigitalData.UserManager.API/Program.cs | 8 +- .../DIExtensions.cs | 4 +- ...ECMDbContext.cs => DbContextExtensions.cs} | 74 +++++++++---------- .../Repositories/GroupOfUserRepository.cs | 4 +- .../Repositories/GroupRepository.cs | 4 +- .../Repositories/ModuleOfUserRepository.cs | 4 +- .../Repositories/ModuleRepository.cs | 4 +- .../Repositories/UserRepRepository.cs | 4 +- .../Repositories/UserRepository.cs | 4 +- .../UserManagerDbContext.cs | 18 +++++ 10 files changed, 71 insertions(+), 57 deletions(-) rename DigitalData.UserManager.Infrastructure/{DDECMDbContext.cs => DbContextExtensions.cs} (73%) create mode 100644 DigitalData.UserManager.Infrastructure/UserManagerDbContext.cs diff --git a/DigitalData.UserManager.API/Program.cs b/DigitalData.UserManager.API/Program.cs index 7b8677f..c55dd50 100644 --- a/DigitalData.UserManager.API/Program.cs +++ b/DigitalData.UserManager.API/Program.cs @@ -38,10 +38,6 @@ try { options.LogoutPath = "/api/auth/logout"; }); - builder.Services.AddDbContext(options => - options.UseSqlServer(builder.Configuration.GetConnectionString("DD_ECM_Connection")) - .EnableDetailedErrors()); - var allowedOrigins = builder.Configuration.GetSection("AllowedOrigins").Get() ?? throw new InvalidOperationException("In appsettings there is no allowed origin."); builder.Services.AddCors(options => @@ -57,7 +53,9 @@ try { }); //builder.Services.AddAutoMapper(typeof(DirectoryMappingProfile).Assembly); - builder.Services.AddUserManager(); + builder.Services.AddUserManager(options => + options.UseSqlServer(builder.Configuration.GetConnectionString("DD_ECM_Connection")) + .EnableDetailedErrors()); builder.Services.AddDirectorySearchService(); diff --git a/DigitalData.UserManager.Application/DIExtensions.cs b/DigitalData.UserManager.Application/DIExtensions.cs index 03d0a16..d19e774 100644 --- a/DigitalData.UserManager.Application/DIExtensions.cs +++ b/DigitalData.UserManager.Application/DIExtensions.cs @@ -3,6 +3,7 @@ using DigitalData.UserManager.Application.MappingProfiles; using DigitalData.UserManager.Application.Services; using DigitalData.UserManager.Infrastructure.Contracts; using DigitalData.UserManager.Infrastructure.Repositories; +using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; namespace DigitalData.UserManager.Application @@ -17,7 +18,8 @@ namespace DigitalData.UserManager.Application /// /// The IServiceCollection to add services to. /// The updated IServiceCollection. - public static IServiceCollection AddUserManager(this IServiceCollection services) => services + public static IServiceCollection AddUserManager(this IServiceCollection services, Action? optionsAction) => services + .AddDbContext(optionsAction: optionsAction) .AddAutoMapper(typeof(UserMappingProfile).Assembly) .AddAutoMapper(typeof(GroupMappingProfile).Assembly) .AddAutoMapper(typeof(GroupOfUserMappingProfile).Assembly) diff --git a/DigitalData.UserManager.Infrastructure/DDECMDbContext.cs b/DigitalData.UserManager.Infrastructure/DbContextExtensions.cs similarity index 73% rename from DigitalData.UserManager.Infrastructure/DDECMDbContext.cs rename to DigitalData.UserManager.Infrastructure/DbContextExtensions.cs index 46b0132..e5d1707 100644 --- a/DigitalData.UserManager.Infrastructure/DDECMDbContext.cs +++ b/DigitalData.UserManager.Infrastructure/DbContextExtensions.cs @@ -1,39 +1,35 @@ -using DigitalData.UserManager.Domain.Entities; -using Microsoft.EntityFrameworkCore; - -namespace DigitalData.UserManager.Infrastructure.Repositories -{ - public class DDECMDbContext : DbContext - { - public DDECMDbContext(DbContextOptions options) : base(options) - { - } - - protected override void OnModelCreating(ModelBuilder modelBuilder) - { - modelBuilder.Entity() - .ToTable(tb => tb.HasTrigger("TBDD_USER_AFT_DEL")) - .ToTable(tb => tb.HasTrigger("TBDD_USER_AFT_INS")) - .ToTable(tb => tb.HasTrigger("TBDD_USER_AFT_UPD")) - .ToTable(tb => tb.HasTrigger("TBDD_USER_AFT_UPD_LOG")); - - modelBuilder.Entity() - .ToTable(tb => tb.HasTrigger("TBDD_GROUPS_USER_AFT_DEL")) - .ToTable(tb => tb.HasTrigger("TBDD_GROUPS_USER_AFT_UPD")); - - modelBuilder.Entity() - .ToTable(tb => tb.HasTrigger("TBDD_GROUPS_AFT_UPD")) - .HasKey(group => group.Guid); - - modelBuilder.Entity() - .ToTable(tb => tb.HasTrigger("TBDD_MODULE_AFT_UPD")); - - modelBuilder.Entity(); - - modelBuilder.Entity() - .ToTable(tb => tb.HasTrigger("TBDD_USER_REPRESENTATION_AFT_UPD")); - - base.OnModelCreating(modelBuilder); - } - } -} \ No newline at end of file +using DigitalData.UserManager.Domain.Entities; +using Microsoft.EntityFrameworkCore; + +namespace DigitalData.UserManager.Infrastructure +{ + public static class DbContextExtensions + { + public static ModelBuilder ConfigureUserManager(this ModelBuilder modelBuilder) + { + modelBuilder.Entity() + .ToTable(tb => tb.HasTrigger("TBDD_USER_AFT_DEL")) + .ToTable(tb => tb.HasTrigger("TBDD_USER_AFT_INS")) + .ToTable(tb => tb.HasTrigger("TBDD_USER_AFT_UPD")) + .ToTable(tb => tb.HasTrigger("TBDD_USER_AFT_UPD_LOG")); + + modelBuilder.Entity() + .ToTable(tb => tb.HasTrigger("TBDD_GROUPS_USER_AFT_DEL")) + .ToTable(tb => tb.HasTrigger("TBDD_GROUPS_USER_AFT_UPD")); + + modelBuilder.Entity() + .ToTable(tb => tb.HasTrigger("TBDD_GROUPS_AFT_UPD")) + .HasKey(group => group.Guid); + + modelBuilder.Entity() + .ToTable(tb => tb.HasTrigger("TBDD_MODULE_AFT_UPD")); + + modelBuilder.Entity(); + + modelBuilder.Entity() + .ToTable(tb => tb.HasTrigger("TBDD_USER_REPRESENTATION_AFT_UPD")); + + return modelBuilder; + } + } +} diff --git a/DigitalData.UserManager.Infrastructure/Repositories/GroupOfUserRepository.cs b/DigitalData.UserManager.Infrastructure/Repositories/GroupOfUserRepository.cs index 5182d00..53a5c10 100644 --- a/DigitalData.UserManager.Infrastructure/Repositories/GroupOfUserRepository.cs +++ b/DigitalData.UserManager.Infrastructure/Repositories/GroupOfUserRepository.cs @@ -5,9 +5,9 @@ using Microsoft.EntityFrameworkCore; namespace DigitalData.UserManager.Infrastructure.Repositories { - public class GroupOfUserRepository : CRUDRepository, IGroupOfUserRepository + public class GroupOfUserRepository : CRUDRepository, IGroupOfUserRepository { - public GroupOfUserRepository(DDECMDbContext dbContext) : base(dbContext) + public GroupOfUserRepository(UserManagerDbContext dbContext) : base(dbContext) { } diff --git a/DigitalData.UserManager.Infrastructure/Repositories/GroupRepository.cs b/DigitalData.UserManager.Infrastructure/Repositories/GroupRepository.cs index dff5740..843a8df 100644 --- a/DigitalData.UserManager.Infrastructure/Repositories/GroupRepository.cs +++ b/DigitalData.UserManager.Infrastructure/Repositories/GroupRepository.cs @@ -4,9 +4,9 @@ using DigitalData.UserManager.Infrastructure.Contracts; namespace DigitalData.UserManager.Infrastructure.Repositories { - public class GroupRepository : CRUDRepository, IGroupRepository + public class GroupRepository : CRUDRepository, IGroupRepository { - public GroupRepository(DDECMDbContext dbContext) : base(dbContext) + public GroupRepository(UserManagerDbContext dbContext) : base(dbContext) { } } diff --git a/DigitalData.UserManager.Infrastructure/Repositories/ModuleOfUserRepository.cs b/DigitalData.UserManager.Infrastructure/Repositories/ModuleOfUserRepository.cs index 2ae0414..1fd0df5 100644 --- a/DigitalData.UserManager.Infrastructure/Repositories/ModuleOfUserRepository.cs +++ b/DigitalData.UserManager.Infrastructure/Repositories/ModuleOfUserRepository.cs @@ -5,9 +5,9 @@ using Microsoft.EntityFrameworkCore; namespace DigitalData.UserManager.Infrastructure.Repositories { - public class ModuleOfUserRepository : CRUDRepository, IModuleOfUserRepository + public class ModuleOfUserRepository : CRUDRepository, IModuleOfUserRepository { - public ModuleOfUserRepository(DDECMDbContext dbContext) : base(dbContext) + public ModuleOfUserRepository(UserManagerDbContext dbContext) : base(dbContext) { } diff --git a/DigitalData.UserManager.Infrastructure/Repositories/ModuleRepository.cs b/DigitalData.UserManager.Infrastructure/Repositories/ModuleRepository.cs index 4abe8d1..a451fc5 100644 --- a/DigitalData.UserManager.Infrastructure/Repositories/ModuleRepository.cs +++ b/DigitalData.UserManager.Infrastructure/Repositories/ModuleRepository.cs @@ -4,9 +4,9 @@ using DigitalData.UserManager.Infrastructure.Contracts; namespace DigitalData.UserManager.Infrastructure.Repositories { - public class ModuleRepository : CRUDRepository, IModuleRepository + public class ModuleRepository : CRUDRepository, IModuleRepository { - public ModuleRepository(DDECMDbContext dbContext) : base(dbContext) + public ModuleRepository(UserManagerDbContext dbContext) : base(dbContext) { } } diff --git a/DigitalData.UserManager.Infrastructure/Repositories/UserRepRepository.cs b/DigitalData.UserManager.Infrastructure/Repositories/UserRepRepository.cs index 23d02d1..6933962 100644 --- a/DigitalData.UserManager.Infrastructure/Repositories/UserRepRepository.cs +++ b/DigitalData.UserManager.Infrastructure/Repositories/UserRepRepository.cs @@ -5,9 +5,9 @@ using Microsoft.EntityFrameworkCore; namespace DigitalData.UserManager.Infrastructure.Repositories { - public class UserRepRepository : CRUDRepository, IUserRepRepository + public class UserRepRepository : CRUDRepository, IUserRepRepository { - public UserRepRepository(DDECMDbContext dbContext) : base(dbContext) + public UserRepRepository(UserManagerDbContext dbContext) : base(dbContext) { } diff --git a/DigitalData.UserManager.Infrastructure/Repositories/UserRepository.cs b/DigitalData.UserManager.Infrastructure/Repositories/UserRepository.cs index 71a7f13..83327cf 100644 --- a/DigitalData.UserManager.Infrastructure/Repositories/UserRepository.cs +++ b/DigitalData.UserManager.Infrastructure/Repositories/UserRepository.cs @@ -5,11 +5,11 @@ using Microsoft.EntityFrameworkCore; namespace DigitalData.UserManager.Infrastructure.Repositories { - public class UserRepository : CRUDRepository, IUserRepository + public class UserRepository : CRUDRepository, IUserRepository { private IModuleOfUserRepository _moduleOfUserRepo; private IGroupOfUserRepository _groupOfUserRepo; - public UserRepository(DDECMDbContext dbContext, IModuleOfUserRepository moduleOfUserRepo, IGroupOfUserRepository groupOfUserRepo) : base(dbContext) + public UserRepository(UserManagerDbContext dbContext, IModuleOfUserRepository moduleOfUserRepo, IGroupOfUserRepository groupOfUserRepo) : base(dbContext) { _moduleOfUserRepo = moduleOfUserRepo; _groupOfUserRepo = groupOfUserRepo; diff --git a/DigitalData.UserManager.Infrastructure/UserManagerDbContext.cs b/DigitalData.UserManager.Infrastructure/UserManagerDbContext.cs new file mode 100644 index 0000000..633172a --- /dev/null +++ b/DigitalData.UserManager.Infrastructure/UserManagerDbContext.cs @@ -0,0 +1,18 @@ +using DigitalData.UserManager.Domain.Entities; +using Microsoft.EntityFrameworkCore; + +namespace DigitalData.UserManager.Infrastructure.Repositories +{ + public class UserManagerDbContext : DbContext + { + public UserManagerDbContext(DbContextOptions options) : base(options) + { + } + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + modelBuilder.ConfigureUserManager(); + base.OnModelCreating(modelBuilder); + } + } +} \ No newline at end of file