コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
            }
        }