public async Task <int> AdicionarQuestaoAvaliacaoAsync(int avaliacaoId, int tipo, string enunciado) { var questaoAvaliacao = new QuestaoAvaliacao() { AvaliacaoId = avaliacaoId, Tipo = tipo, Enunciado = enunciado }; var avaliacao = await _avaliacaoRepository.ObterAsync(avaliacaoId); if (avaliacao.Publicacoes?.Count > 0) { throw new DomainException("Não é permitido alterar uma avaliação que já foi publicada!"); } var erros = questaoAvaliacao.Validate(); if (erros.Length == 0) { await _questaoAvaliacaoRepository.AdicionarAsync(questaoAvaliacao); _questaoAvaliacaoRepository.SaveChanges(); return(questaoAvaliacao.Id); } else { throw new DomainException(erros); } }
public async Task <int> AdicionarQuestaoAvaliacaoAsync(int avaliacaoId, int tipo, string enunciado) { var questaoAvaliacao = new QuestaoAvaliacao() { AvaliacaoId = avaliacaoId, Tipo = tipo, Enunciado = enunciado }; var erros = questaoAvaliacao.Validate(); if (erros.Length == 0) { await _questaoAvaliacaoRepository.AdicionarAsync(questaoAvaliacao); _questaoAvaliacaoRepository.SaveChanges(); return(questaoAvaliacao.Id); } else { throw new DomainException(erros); } }