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));
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        //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));
        }