public async Task <IActionResult> Edit(int id, [Bind("Id,Descricao,QuestionarioId")] PerguntaQuestionario perguntaQuestionario)
        {
            if (id != perguntaQuestionario.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(perguntaQuestionario);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PerguntaQuestionarioExists(perguntaQuestionario.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(perguntaQuestionario));
        }
示例#2
0
        public void AdicionarPergunta(int idQuestionario, DtoPerguntaQuestionario pergunta)
        {
            var questionario = (from q in Banco.Questionario
                                where q.QuestionarioID == idQuestionario
                                select q).FirstOrDefault();

            if (questionario == null)
            {
                throw new Exception("Questionário não encontrado");
            }

            var novaPergunta = new PerguntaQuestionario()
            {
                Descricao       = pergunta.Descricao,
                MultiplaEscolha = pergunta.MultiplaEscolha,
                Questionario    = questionario,
            };

            foreach (var resposta in pergunta.RespostasPossiveis)
            {
                var novaResposta = new RespostaPossivel()
                {
                    DescricaoRespostaPossivel = resposta.DescricaoRespostaPossivel,
                    PerguntaQuestionario      = novaPergunta,
                };

                Banco.RespostaPossivel.Add(novaResposta);
            }

            Banco.PerguntasQuestionario.Add(novaPergunta);
            Banco.SaveChanges();
        }
        public async Task <IActionResult> Create([Bind("Id,Descricao")] PerguntaQuestionario perguntaQuestionario)
        {
            if (ModelState.IsValid)
            {
                // Só há um questionário
                perguntaQuestionario.QuestionarioId = 1;

                _context.Add(perguntaQuestionario);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(perguntaQuestionario));
        }
示例#4
0
        public void CopiarPerguntasDeQuestionario(int idQuestionarioOrigem, int idQuestionarioDestino)
        {
            var origem = (from q in Banco.Questionario
                          where q.QuestionarioID == idQuestionarioOrigem
                          select q).FirstOrDefault();

            if (origem == null)
            {
                throw new Exception("Questionário não encontrado");
            }

            var destino = (from q in Banco.Questionario
                           where q.QuestionarioID == idQuestionarioDestino
                           select q).FirstOrDefault();

            if (destino == null)
            {
                throw new Exception("Questionário não encontrado");
            }

            foreach (var pergunta in origem.PerguntasQuestionario)
            {
                var novaPergunta = new PerguntaQuestionario()
                {
                    Descricao       = pergunta.Descricao,
                    MultiplaEscolha = pergunta.MultiplaEscolha,
                    Questionario    = destino,
                };

                foreach (var resposta in pergunta.RespostasPossiveis)
                {
                    var novaResposta = new RespostaPossivel()
                    {
                        DescricaoRespostaPossivel = resposta.DescricaoRespostaPossivel,
                        PerguntaQuestionario      = novaPergunta,
                    };

                    Banco.RespostaPossivel.Add(novaResposta);
                }

                Banco.PerguntasQuestionario.Add(novaPergunta);
            }

            Banco.SaveChanges();
        }