public async Task <DeleteAccountResponse> Handle(DeleteAccountRequest request, CancellationToken cancellationToken) { var account = await accountRepository.GetByIdAsync(request.Id); if (account == null) { return(new DeleteAccountResponse(Guid.Empty, "")); } var posts = postRepository.GetAccountPosts(account.Id); foreach (var post in posts) { fileUploader.DeleteFolder(post.Id.ToString()); } accountRepository.Delete(account); await unitOfWork.CommitAsync(account, cancellationToken); return(new DeleteAccountResponse(account.Id, account.Name)); }