public async Task <int> AdicionarOpcaoAvaliacaoAsync(int questaoId, string descricao, bool verdadeira) { ValidarOpcaoAvaliacao(questaoId, verdadeira); var opcaoAvaliacao = new OpcaoAvaliacao() { QuestaoId = questaoId, Descricao = descricao, Verdadeira = verdadeira }; var questao = await _questaoAvaliacaoRepository.ObterAsync(questaoId); if (questao.Avaliacao.Publicacoes?.Count > 0) { throw new DomainException("Não é permitido alterar uma avaliação que já foi publicada!"); } var erros = opcaoAvaliacao.Validate(); if (erros.Length == 0) { await _opcaoAvaliacaoRepository.AdicionarAsync(opcaoAvaliacao); _opcaoAvaliacaoRepository.SaveChanges(); return(opcaoAvaliacao.Id); } else { throw new DomainException(erros); } }
public async Task <int> AdicionarOpcaoAvaliacaoAsync(int questaoId, string descricao, bool verdadeira) { ValidarOpcaoAvaliacao(questaoId, verdadeira); var opcaoAvaliacao = new OpcaoAvaliacao() { QuestaoId = questaoId, Descricao = descricao, Verdadeira = verdadeira }; var erros = opcaoAvaliacao.Validate(); if (erros.Length == 0) { await _opcaoAvaliacaoRepository.AdicionarAsync(opcaoAvaliacao); _opcaoAvaliacaoRepository.SaveChanges(); return(opcaoAvaliacao.Id); } else { throw new DomainException(erros); } }