public async Task <int> ExcluirPublicacaoAsync(int professorId, int id) { var publicacao = await _publicacaoRepository.ObterAsync(id); if (publicacao == null) { throw new DomainException("A publicação não foi encontrada!"); } if (publicacao.Avaliacao.ProfessorId != professorId) { throw new DomainException("A avaliação informada não pertence ao professor logado!"); } if (publicacao.Avaliacao.Provas?.Count > 0) { throw new DomainException("Não é permitido excluir uma publicação quando a prova já foi feita por algum aluno!"); } _publicacaoRepository.Excluir(id); _publicacaoRepository.SaveChanges(); return(publicacao.Id); }