Exemple #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            TB_Respostas tB_Respostas = db.TB_Respostas.Find(id);

            db.TB_Respostas.Remove(tB_Respostas);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemple #2
0
 public ActionResult Edit(TB_Respostas tB_Respostas)
 {
     if (ModelState.IsValid)
     {
         db.Entry(tB_Respostas).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.QuestaoId = new SelectList(db.TB_Questoes, "QuestaoId", "Questao", tB_Respostas.QuestaoId);
     return(View(tB_Respostas));
 }
Exemple #3
0
        public ActionResult Create(TB_Respostas tB_Respostas)
        {
            if (ModelState.IsValid)
            {
                db.TB_Respostas.Add(tB_Respostas);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.QuestaoId = new SelectList(db.TB_Questoes, "QuestaoId", "Questao", tB_Respostas.QuestaoId);
            return(View(tB_Respostas));
        }
Exemple #4
0
        // GET: TB_Respostas/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TB_Respostas tB_Respostas = db.TB_Respostas.Find(id);

            if (tB_Respostas == null)
            {
                return(HttpNotFound());
            }
            return(View(tB_Respostas));
        }
Exemple #5
0
        // GET: TB_Respostas/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TB_Respostas tB_Respostas = db.TB_Respostas.Find(id);

            if (tB_Respostas == null)
            {
                return(HttpNotFound());
            }
            ViewBag.QuestaoId = new SelectList(db.TB_Questoes, "QuestaoId", "Questao", tB_Respostas.QuestaoId);
            return(View(tB_Respostas));
        }
Exemple #6
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));
        }