feat: Abhängigkeit von IUserRepRepository hinzugefügt und Unterstützung für zugehörige Löschungen in UserRepository
This commit is contained in:
parent
1273b7ac46
commit
97cefb3fea
@ -9,11 +9,16 @@ namespace DigitalData.UserManager.Infrastructure.Repositories
|
|||||||
where TDbContext : DbContext, IUserManagerDbContext
|
where TDbContext : DbContext, IUserManagerDbContext
|
||||||
{
|
{
|
||||||
private readonly IModuleOfUserRepository _moduleOfUserRepo;
|
private readonly IModuleOfUserRepository _moduleOfUserRepo;
|
||||||
|
|
||||||
private readonly IGroupOfUserRepository _groupOfUserRepo;
|
private readonly IGroupOfUserRepository _groupOfUserRepo;
|
||||||
public UserRepository(TDbContext dbContext, IModuleOfUserRepository moduleOfUserRepo, IGroupOfUserRepository groupOfUserRepo) : base(dbContext, dbContext.Users)
|
|
||||||
|
private readonly IUserRepRepository _uRepRepo;
|
||||||
|
|
||||||
|
public UserRepository(TDbContext dbContext, IModuleOfUserRepository moduleOfUserRepo, IGroupOfUserRepository groupOfUserRepo, IUserRepRepository userRepRepository) : base(dbContext, dbContext.Users)
|
||||||
{
|
{
|
||||||
_moduleOfUserRepo = moduleOfUserRepo;
|
_moduleOfUserRepo = moduleOfUserRepo;
|
||||||
_groupOfUserRepo = groupOfUserRepo;
|
_groupOfUserRepo = groupOfUserRepo;
|
||||||
|
_uRepRepo = userRepRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<IEnumerable<User>> ReadByModuleIdAsync(int moduleId)
|
public async Task<IEnumerable<User>> ReadByModuleIdAsync(int moduleId)
|
||||||
@ -48,14 +53,22 @@ namespace DigitalData.UserManager.Infrastructure.Repositories
|
|||||||
//TODO: instead of this implmenet .OnDelete(DeleteBehavior.ClientCascade) in DbContext
|
//TODO: instead of this implmenet .OnDelete(DeleteBehavior.ClientCascade) in DbContext
|
||||||
public override async Task<bool> DeleteAsync(User user)
|
public override async Task<bool> DeleteAsync(User user)
|
||||||
{
|
{
|
||||||
IEnumerable<ModuleOfUser> mou = await _moduleOfUserRepo.ReadByUserAsync(user.Username);
|
var mou = await _moduleOfUserRepo.ReadByUserAsync(user.Username);
|
||||||
if(mou.Any())
|
if (mou.Any())
|
||||||
_dbContext.RemoveRange(mou);
|
_dbContext.RemoveRange(mou);
|
||||||
|
|
||||||
IEnumerable<GroupOfUser> gou = await _groupOfUserRepo.ReadByUsernameAsync(user.Username);
|
var gou = await _groupOfUserRepo.ReadByUsernameAsync(user.Username);
|
||||||
if(gou.Any())
|
if (gou.Any())
|
||||||
_dbContext.RemoveRange(gou);
|
_dbContext.RemoveRange(gou);
|
||||||
|
|
||||||
|
var uRep_list = await _uRepRepo.ReadAllAsync(userId: user.Id);
|
||||||
|
if (uRep_list.Any())
|
||||||
|
_dbContext.RemoveRange(uRep_list);
|
||||||
|
|
||||||
|
uRep_list = await _uRepRepo.ReadAllAsync(repUserId: user.Id);
|
||||||
|
if (uRep_list.Any())
|
||||||
|
_dbContext.RemoveRange(uRep_list);
|
||||||
|
|
||||||
return await base.DeleteAsync(user);
|
return await base.DeleteAsync(user);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user