Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
            }
        }