public async Task <Result <string> > Handle(RemoveUserDataCommand request, CancellationToken token) { var entity = await _context.Users.IgnoreQueryFilters().SingleOrDefaultAsync(c => c.Id == request.UserId, token); if (entity == null) { return(Failure <string>("L'utilisateur est introuvable.")); } if (entity.Id != request.RequestUser.Id) { return(Failure <string>("Vous n'êtes pas autorisé à accéder à cette ressource.")); } if (!entity.RemovedOn.HasValue) { return(Success <string>(request.Reason)); } await _blobService.CleanUserStorageAsync(request.UserId, token); var result = await _mediatr.Process(new RemoveAuthUserCommand(request.RequestUser) { UserId = entity.Id }, token); if (!result.Succeeded) { return(Failure <string>(result)); } entity.Close(); await _context.SaveChangesAsync(token); return(Success <string>(request.Reason)); }