Exemple #1
0
        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);
        }