public ActionResult Edit([Bind(Include = "QuestaoId,PesquisaId,Questao,TipoRespostaId,Obrigatorio")] TB_Questoes tB_Questoes) { if (ModelState.IsValid) { db.Entry(tB_Questoes).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.PesquisaId = new SelectList(db.TB_Pesquisa, "PesquisaId", "Titulo", tB_Questoes.PesquisaId); ViewBag.TipoRespostaId = new SelectList(db.TB_TipoResposta, "TipoRespostaId", "TipoResposta", tB_Questoes.TipoRespostaId); return(View(tB_Questoes)); }
public ActionResult Edit([Bind(Include = "QuestaoEncadeadaId,PesquisaId,QuestaoId,AlternativaId,AcaoId")] TB_QuestaoEncadeada tB_QuestaoEncadeada) { var Perfil = int.Parse(Session["Perfil"].ToString()); if (ModelState.IsValid) { db.Entry(tB_QuestaoEncadeada).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(tB_QuestaoEncadeada)); }
public ActionResult Edit([Bind(Include = "ParticipanteId,PesquisaId,Nome, Email,RDM")] TB_Participantes tB_Participantes) { var Perfil = int.Parse(Session["Perfil"].ToString()); ViewBag.Perfil = Perfil; if (ModelState.IsValid) { db.Entry(tB_Participantes).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.PesquisaId = new SelectList(db.TB_Pesquisa, "PesquisaId", "Titulo", tB_Participantes.PesquisaId); return(View(tB_Participantes)); }
//public string Save(Dictionary<string, string> valor,int participante, [Bind(Include = "DataResposta")] TB_DataEnvioDataResposta tB_DataEnvioDataResposta) public async Task <JsonResult> Save(Dictionary <string, string> valor, int participante, [Bind(Include = "DataResposta")] TB_DataEnvioDataResposta tB_DataEnvioDataResposta, string acao, string pesquisa) { var ParticipanteId = participante; var listaDeQuestoes = new List <Formulario>(); tB_DataEnvioDataResposta = db.TB_DataEnvioDataResposta.Find(await db.TB_DataEnvioDataResposta.Where(x => x.ParticipanteId == participante).Select(x => x.EnvioId).SingleOrDefaultAsync()); var IdResposta = db.TB_Respostas.FirstOrDefault(x => x.ParticipanteId == ParticipanteId); if (acao == "enviar" || acao == "fechar") { if (tB_DataEnvioDataResposta.DataResposta == null) { if (ModelState.IsValid) { tB_DataEnvioDataResposta.DataResposta = DateTime.Now; db.Entry(tB_DataEnvioDataResposta).State = EntityState.Modified; } var lista = new List <TB_Respostas>(); var questoes = db.TB_Questoes.Where(x => x.PesquisaId.ToString() == pesquisa && x.Obrigatorio == true).ToList(); var questoesrespondidas = new List <int>(); foreach (KeyValuePair <string, string> kvp in valor) { var chave = kvp.Key.Split('-'); var vl = kvp.Value; var resposta = new TB_Respostas(); resposta.QuestaoId = int.Parse(chave[0]); resposta.AlternativaId = int.Parse(chave[1]); resposta.ParticipanteId = participante; resposta.Resposta = vl; questoesrespondidas.Add(resposta.QuestaoId); lista.Add(resposta); } if (acao == "enviar") { foreach (var questao in questoes) { var respondeu = questoesrespondidas.Any(x => questoesrespondidas.Contains(questao.QuestaoId)); if (respondeu == true) { var qut = lista.First(x => x.QuestaoId == questao.QuestaoId); if (string.IsNullOrEmpty(qut.Resposta)) { return(Json(new { status = "Erro", msg = $"Obrigatório responder à questão {questao.Questao}" }, JsonRequestBehavior.AllowGet)); } } else { return(Json(new { status = "Erro", msg = $"Obrigatório responder à questão {questao.Questao}" }, JsonRequestBehavior.AllowGet)); } } } db.TB_Respostas.AddRange(lista); var respostabd = db.TB_Respostas.Where(x => x.ParticipanteId == participante); db.TB_Respostas.RemoveRange(respostabd); db.SaveChanges(); } } if (tB_DataEnvioDataResposta.DataResposta == null) { var lista = new List <TB_Respostas>(); foreach (KeyValuePair <string, string> kvp in valor) { var chave = kvp.Key.Split('-'); var vl = kvp.Value; var resposta = new TB_Respostas(); resposta.QuestaoId = int.Parse(chave[0]); resposta.AlternativaId = int.Parse(chave[1]); resposta.ParticipanteId = participante; resposta.Resposta = vl; lista.Add(resposta); } db.TB_Respostas.AddRange(lista); var respostabd = db.TB_Respostas.Where(x => x.ParticipanteId == participante); db.TB_Respostas.RemoveRange(respostabd); db.SaveChanges(); } if (acao == "enviar" || acao == "fechar") { return(Json(new { status = "Sucesso", msg = "Obrigado(a) por participar desta Pesquisa. Este formulário será fechado." }, JsonRequestBehavior.AllowGet)); } return(Json(new { status = "Sucesso", msg = "A Pesquisa foi salva parcialmente. Você poderá retornar, mais tarde, para concluir ou modificar suas respostas. Não se esqueça de, após preencher todas as questões, clicar no botão “Enviar as Respostas”." }, JsonRequestBehavior.AllowGet)); }