From 9f99bb0bc982025c49009fd3ff862bd0fbeee13b Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Wed, 30 Oct 2024 15:45:47 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20erweitere=20GroupRepository=20mit=20Unt?= =?UTF-8?q?erst=C3=BCtzung=20f=C3=BCr=20das=20L=C3=B6schen=20verwandter=20?= =?UTF-8?q?Entit=C3=A4ten?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Abhängigkeiten IGroupOfUserRepository und IUserRepRepository zum GroupRepository-Konstruktor hinzugefügt. - DeleteAsync aktualisiert, um verwandte Entitäten in den GroupOfUser- und UserRep-Tabellen zu löschen, bevor die Gruppe entfernt wird. --- .../Repositories/GroupRepository.cs | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/DigitalData.UserManager.Infrastructure/Repositories/GroupRepository.cs b/DigitalData.UserManager.Infrastructure/Repositories/GroupRepository.cs index 38f5468..358a531 100644 --- a/DigitalData.UserManager.Infrastructure/Repositories/GroupRepository.cs +++ b/DigitalData.UserManager.Infrastructure/Repositories/GroupRepository.cs @@ -8,8 +8,27 @@ namespace DigitalData.UserManager.Infrastructure.Repositories public class GroupRepository : CRUDRepository, IGroupRepository where TDbContext : DbContext, IUserManagerDbContext { - public GroupRepository(TDbContext dbContext) : base(dbContext, dbContext.Groups) + private readonly IGroupOfUserRepository _gouRepo; + + private readonly IUserRepRepository _uRepRepo; + + public GroupRepository(TDbContext dbContext, IGroupOfUserRepository gouRepo, IUserRepRepository userRepRepository) : base(dbContext, dbContext.Groups) { + _gouRepo = gouRepo; + _uRepRepo = userRepRepository; + } + + public override async Task DeleteAsync(Group group) + { + var gou_list = await _gouRepo.ReadAsync(readOnly: false, groupId: group.Id); + if (gou_list.Any()) + _dbContext.RemoveRange(gou_list); + + var ur_list = await _uRepRepo.ReadAllAsync(groupId: group.Id); + if (ur_list.Any()) + _dbContext.RemoveRange(ur_list); + + return await base.DeleteAsync(group); } } } \ No newline at end of file