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)); }
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)); }
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(); }