public async Task <Unit> Handle(DeleteProject request, CancellationToken cancellationToken) { var project = await _projectRepository.GetByIdAsync(request.Id, cancellationToken); if (project != null) { var projectTasks = await _projectTaskRepository.GetTasksByProjectIdAsync(project.Id, cancellationToken); foreach (var projectTask in projectTasks) { _projectTaskRepository.Delete(projectTask); } _projectRepository.Delete(project); await _projectRepository.UnitOfWork.SaveChangesAsync(cancellationToken); } return(Unit.Value); }