Пример #1
0
        public async Task <int> AlterarOpcaoAvaliacaoAsync(int id, string descricao, bool verdadeira)
        {
            var opcaoAvaliacao = await _opcaoAvaliacaoRepository.ObterAsync(id);

            if (opcaoAvaliacao.Questao.Avaliacao.Publicacoes?.Count > 0)
            {
                throw new DomainException("Não é permitido alterar uma avaliação que já foi publicada!");
            }
            ValidarOpcaoAvaliacao(opcaoAvaliacao.QuestaoId, verdadeira);

            opcaoAvaliacao.Descricao  = descricao;
            opcaoAvaliacao.Verdadeira = verdadeira;

            var erros = opcaoAvaliacao.Validate();

            if (erros.Length == 0)
            {
                _opcaoAvaliacaoRepository.Modificar(opcaoAvaliacao);

                return(_opcaoAvaliacaoRepository.SaveChanges());
            }
            else
            {
                throw new DomainException(erros);
            }
        }
Пример #2
0
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var opcaoAvaliacao = await _opcaoAvaliacaoRepository.ObterAsync(id.Value);

            if (opcaoAvaliacao == null)
            {
                return(NotFound());
            }

            return(View(opcaoAvaliacao));
        }
Пример #3
0
        public async Task <int> AlterarOpcaoAvaliacaoAsync(int id, string descricao, bool verdadeira)
        {
            var opcao = await _opcaoAvaliacaoRepository.ObterAsync(id);

            if (opcao == null)
            {
                throw new DomainException("A opção não foi encontrada!");
            }

            if (verdadeira)
            {
                var questao = await _questaoRepository.ObterComOpcoesAsync(opcao.QuestaoId);

                if (questao.Tipo == 1 && questao.Opcoes.Find(x => x.Id != id && x.Verdadeira) != null)
                {
                    throw new DomainException("Já existe uma opção cadastrada como verdadeira para essa questão!");
                }
            }

            opcao.Descricao = descricao;

            opcao.Verdadeira = verdadeira;

            _opcaoAvaliacaoRepository.Modificar(opcao);

            await _opcaoAvaliacaoRepository.SaveChangesAsync();

            return(opcao.QuestaoId);
        }
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var result = await _opcaoAvaliacaoRepository.ObterAsync(id.Value);

            if (result == null)
            {
                return(NotFound());
            }

            var opcao = Mapper.Map <OpcaoAvaliacaoViewModel>(result);

            return(View(opcao));
        }
Пример #5
0
        public async Task <int> AlterarOpcaoAvaliacaoAsync(int id, string descricao, bool verdadeira)
        {
            var opcaoAvaliacao = await _opcaoAvaliacaoRepository.ObterAsync(id);

            ValidarOpcaoAvaliacao(opcaoAvaliacao.QuestaoId, verdadeira);

            opcaoAvaliacao.Descricao  = descricao;
            opcaoAvaliacao.Verdadeira = verdadeira;

            var erros = opcaoAvaliacao.Validate();

            if (erros.Length == 0)
            {
                _opcaoAvaliacaoRepository.Modificar(opcaoAvaliacao);

                return(_opcaoAvaliacaoRepository.SaveChanges());
            }
            else
            {
                throw new DomainException(erros);
            }
        }