public ActionResult DeleteConfirmed(int id) { TB_DataEnvioDataResposta tB_DataEnvioDataResposta = db.TB_DataEnvioDataResposta.Find(id); db.TB_DataEnvioDataResposta.Remove(tB_DataEnvioDataResposta); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "EnvioId,PesquisaId,ParticipanteId,DataEnvio,DataResposta")] TB_DataEnvioDataResposta tB_DataEnvioDataResposta) { if (ModelState.IsValid) { db.Entry(tB_DataEnvioDataResposta).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(tB_DataEnvioDataResposta)); }
public ActionResult Create([Bind(Include = "EnvioId,PesquisaId,ParticipanteId,DataEnvio,DataResposta")] TB_DataEnvioDataResposta tB_DataEnvioDataResposta) { if (ModelState.IsValid) { db.TB_DataEnvioDataResposta.Add(tB_DataEnvioDataResposta); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(tB_DataEnvioDataResposta)); }
public ActionResult Create([Bind(Include = "ParticipanteId,PesquisaId,Nome, Email,RDM")] TB_Participantes tB_Participantes, [Bind(Include = "EnvioId,PesquisaId,ParticipanteId,DataEnvio,DataResposta")] TB_DataEnvioDataResposta tB_DataEnvioDataResposta) { if (ModelState.IsValid) { Save(tB_Participantes, tB_DataEnvioDataResposta); return(RedirectToAction("Index")); } ViewBag.PesquisaId = new SelectList(db.TB_Pesquisa, "PesquisaId", "Titulo", tB_Participantes.PesquisaId); return(View(tB_Participantes)); }
// GET: TB_DataEnvioDataResposta/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TB_DataEnvioDataResposta tB_DataEnvioDataResposta = db.TB_DataEnvioDataResposta.Find(id); if (tB_DataEnvioDataResposta == null) { return(HttpNotFound()); } return(View(tB_DataEnvioDataResposta)); }
public void Save(TB_Participantes tB_Participantes, TB_DataEnvioDataResposta tB_DataEnvioDataResposta) { db.TB_Participantes.Add(tB_Participantes); db.SaveChanges(); tB_DataEnvioDataResposta.ParticipanteId = tB_Participantes.ParticipanteId; tB_DataEnvioDataResposta.DataEnvio = DateTime.Now; db.TB_DataEnvioDataResposta.Add(tB_DataEnvioDataResposta); db.SaveChanges(); IEnumerable <string> MSG = from p in db.TB_Participantes join m in db.TB_MensagemEmail on p.PesquisaId equals m.PesquisaId where m.PesquisaId == p.PesquisaId where p.ParticipanteId == tB_Participantes.ParticipanteId select m.Mensagem; var MSG1 = MSG.First <string>(); //Envido de e-mail apos cadastro de participante. System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(); //Desenvolvimento local if (Request.Url.Authority == "localhost:5891") { client.Host = "smtpint.liquigas.biz"; } //Desenvolvimento remoto if (Request.Url.Authority == "http://slqdbt-vspdop3.liquigas.hom:7777") { client.Host = "smtpint.liquigas.biz"; } //Homologação remoto if (Request.Url.Authority == "http://pesquisa.liquigas.hom:8089") { client.Host = "slqdbt-vlnqa1.liquigas.biz"; } //Produção remoto if (Request.Url.Authority == "http://pesquisa.liquigas.biz:8089") { client.Host = "smtpint.liquigas.biz"; } client.Port = 25; client.EnableSsl = false; MailMessage mail = new MailMessage(); mail.Sender = new System.Net.Mail.MailAddress("*****@*****.**"); mail.From = new MailAddress("*****@*****.**"); mail.To.Add(new MailAddress(tB_Participantes.Email)); mail.Subject = "Pesquisa de Satisfação – Link de Acesso"; mail.Body = "<font face='Calibri'>" + MSG1 + "<br/><br/> Copie e cole o link a seguir no browser do Internet Explorer ou do Mozilla Firefox." + " http://" + Request.Url.Authority + "/TB_Formulario/" + tB_Participantes.PesquisaId + "/" + tB_Participantes.ParticipanteId + "</font>"; mail.IsBodyHtml = true; mail.Priority = MailPriority.High; try { client.Send(mail); } catch (Exception) { } finally { mail = null; } }
public ActionResult GroupEmail() { WCFPopulisHom.V_ACESSO_GRCAC_FUNCIONARIOS_GERAL[] resultFuncionarios = null; WCFPopulisHom.ServiceData svc = new WCFPopulisHom.ServiceData(); resultFuncionarios = svc.GetFuncionariosGeral(string.Empty, string.Empty, string.Empty); foreach (var item in resultFuncionarios) { if (item.ID_PESSOA.ToString() != null && item.CHAVE != null && item.NOME_PESSOA.ToString() != null && item.SIGLA.ToString() != null) { var ID_PESSOA = item.ID_PESSOA.ToString(); var CHAVE = item.CHAVE.ToString(); var NOME_PESSOA = item.NOME_PESSOA.ToString(); //if (Request.Url.Authority == "localhost:5891") //{ // var EMAIL = item.CHAVE.ToString() + "@liquigas.hom"; //} ////Desenvolvimento remoto //if (Request.Url.Authority == "http://slqdbt-vspdop3.liquigas.hom:7777") //{ // var EMAIL = item.CHAVE.ToString() + "@liquigas.hom"; //} ////Homologação remoto //if (Request.Url.Authority == "http://pesquisa.liquigas.hom:8089") //{ // var EMAIL = item.CHAVE.ToString() + "@liquigas.hom"; //} ////Produção remoto //if (Request.Url.Authority == "http://pesquisa.liquigas.biz:8089") //{ // var EMAIL = item.CHAVE.ToString() + "@liquigas.com.br"; //} var EMAIL = item.CHAVE.ToString() + "@liquigas.hom"; var SIGLA = item.SIGLA.ToString(); } } var data = (from p in resultFuncionarios select p).ToList(); //var data = (from p in resultFuncionarios select p); if (Request.Form["Id"] != null && !string.IsNullOrEmpty(Request.Form["Id"].ToString())) { var persons = Request.Form["Id"].ToString().Split(','); data = data.Where(m => persons.Contains(m.ID_PESSOA.ToString())).ToList(); } else if (Request.Form["Sigla"] != null && !string.IsNullOrEmpty(Request.Form["Sigla"].ToString())) { var group = Request.Form["Sigla"].ToString(); //if (Request.Url.Authority == "localhost:5891") //{ // data = data.Where(m => m.SIGLA == group && !string.IsNullOrEmpty(m.CHAVE + "@liquigas.hom")).ToList(); //} ////Desenvolvimento remoto //if (Request.Url.Authority == "http://slqdbt-vspdop3.liquigas.hom:7777") //{ // data = data.Where(m => m.SIGLA == group && !string.IsNullOrEmpty(m.CHAVE + "@liquigas.hom")).ToList(); //} ////Homologação remoto //if (Request.Url.Authority == "http://pesquisa.liquigas.hom:8089") //{ // data = data.Where(m => m.SIGLA == group && !string.IsNullOrEmpty(m.CHAVE + "@liquigas.hom")).ToList(); //} ////Produção remoto //if (Request.Url.Authority == "http://pesquisa.liquigas.biz:8089") //{ // data = data.Where(m => m.SIGLA == group && !string.IsNullOrEmpty(m.CHAVE + "@liquigas.com.br")).ToList(); //} data = data.Where(m => m.SIGLA == group && !string.IsNullOrEmpty(m.CHAVE + "@liquigas.hom")).ToList(); } else { return(View("GroupEmail")); } foreach (var item in data) { var research = int.Parse(Request.Form["Pesquisa"].ToString()); //var fimemail = ""; //if (Request.Url.Authority == "localhost:5891") //{ // fimemail = "@liquigas.hom"; //} ////Desenvolvimento remoto //if (Request.Url.Authority == "http://slqdbt-vspdop3.liquigas.hom:7777") //{ // fimemail = "@liquigas.hom"; //} ////Homologação remoto //if (Request.Url.Authority == "http://pesquisa.liquigas.hom:8089") //{ // fimemail = "@liquigas.hom"; //} ////Produção remoto //if (Request.Url.Authority == "http://pesquisa.liquigas.biz:8089") //{ // fimemail = "@liquigas.com.br"; //} var participant = new TB_Participantes { PesquisaId = research, Nome = item.NOME_PESSOA, Email = item.CHAVE + "@liquigas.hom" }; var responseDate = new TB_DataEnvioDataResposta { PesquisaId = research }; Save(participant, responseDate); } TempData["Message"] = "Os novos participantes foram cadastrados com sucesso!"; return(RedirectToAction("GroupEmail")); }
public void SharePointPesquisa([Bind(Include = "ParticipanteId,PesquisaId,Nome, Email,RDM")] TB_Participantes tB_Participantes, [Bind(Include = "EnvioId,PesquisaId,ParticipanteId,DataEnvio,DataResposta")] TB_DataEnvioDataResposta tB_DataEnvioDataResposta) { Response.AppendHeader("Access-Control-Allow-Origin", "*"); if (ModelState.IsValid) { db.TB_Participantes.Add(tB_Participantes); db.SaveChanges(); if (ModelState.IsValid) { tB_DataEnvioDataResposta.ParticipanteId = tB_Participantes.ParticipanteId; tB_DataEnvioDataResposta.DataEnvio = DateTime.Now; db.TB_DataEnvioDataResposta.Add(tB_DataEnvioDataResposta); db.SaveChanges(); } IEnumerable <string> MSG = from p in db.TB_Participantes join m in db.TB_MensagemEmail on p.PesquisaId equals m.PesquisaId where m.PesquisaId == p.PesquisaId where p.ParticipanteId == tB_Participantes.ParticipanteId select m.Mensagem; var MSG1 = MSG.First <string>(); //Envido de e-mail apos cadastro de participante. System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(); //Desenvolvimento local if (Request.Url.Authority == "localhost:5891") { client.Host = "smtpint.liquigas.biz"; } //Desenvolvimento remoto if (Request.Url.Authority == "http://slqdbt-vspdop3.liquigas.hom:7777") { client.Host = "smtpint.liquigas.biz"; } //Homologação remoto if (Request.Url.Authority == "http://pesquisa.liquigas.hom:8089") { client.Host = "slqdbt-vlnqa1.liquigas.biz"; } //Produção remoto if (Request.Url.Authority == "http://pesquisa.liquigas.biz:8089") { client.Host = "smtpint.liquigas.biz"; } client.Port = 25; client.EnableSsl = false; MailMessage mail = new MailMessage(); mail.Sender = new System.Net.Mail.MailAddress("*****@*****.**"); mail.From = new MailAddress("*****@*****.**"); mail.To.Add(new MailAddress(tB_Participantes.Email)); mail.Subject = "Pesquisa de Satisfação – Link de Acesso Referente a RDM:" + tB_Participantes.RDM; //mail.Body = tB_Participantes.TB_Pesquisa.TB_MensagemEmail + " Mensagem do Sistema de Pesquisa:<br/> Nome: " + tB_Participantes.Nome + "<br/> Email : " + tB_Participantes.Email + " <br/> Mensagem : " + MSG1 + " o link de acesso:" + " http://" + Request.Url.Authority + "/TB_Formulario/" + tB_Participantes.PesquisaId + "/" + tB_Participantes.ParticipanteId; mail.Body = "<font face='Calibri'>" + "RDM: " + tB_Participantes.RDM + " " + MSG1 + "<br/><br/> Copie e cole o link a seguir no browser do Internet Explorer ou do Mozilla Firefox." + " http://" + Request.Url.Authority + "/TB_Formulario/" + tB_Participantes.PesquisaId + "/" + tB_Participantes.ParticipanteId + "</font>"; mail.IsBodyHtml = true; mail.Priority = MailPriority.High; try { client.Send(mail); } catch (Exception) { } finally { mail = null; } // } }
// GET: TB_Formulario //public ActionResult Index(int Id_pesquisa, int Id_Participante, [Bind(Include = "DataResposta")] TB_DataEnvioDataResposta tB_DataEnvioDataResposta) public async Task <ActionResult> Index(int Id_pesquisa, int Id_Participante, [Bind(Include = "DataResposta")] TB_DataEnvioDataResposta tB_DataEnvioDataResposta, [Bind(Include = "RDM")] TB_Participantes tB_Participantes) { var ParticipanteId = Id_Participante; tB_DataEnvioDataResposta = db.TB_DataEnvioDataResposta.Find(await db.TB_DataEnvioDataResposta.Where(x => x.ParticipanteId == Id_Participante).Select(x => x.EnvioId).SingleOrDefaultAsync()); tB_Participantes = db.TB_Participantes.Find(await db.TB_Participantes.Where(x => x.ParticipanteId == Id_Participante).Select(x => x.ParticipanteId).SingleOrDefaultAsync()); if (tB_Participantes.RDM != null) { ViewBag.RDM = tB_Participantes.RDM; } if (tB_DataEnvioDataResposta.DataResposta == null) { IEnumerable <string> ViGenciaPesquisaInic = (from p in db.TB_Pesquisa join q in db.TB_Questoes on p.PesquisaId equals q.PesquisaId //join a in db.TB_Alternativas on q.QuestaoId equals a.QuestaoId join vr in db.TB_VigenciaPesquisa on p.PesquisaId equals vr.PesquisaId where vr.PesquisaId == p.PesquisaId //where q.QuestaoId == a.QuestaoId //where a.QuestaoId == q.QuestaoId where p.PesquisaId == Id_pesquisa select vr.DataInicialPesquisa.ToString()).Distinct(); IEnumerable <string> ViGenciaPesquisaFin = (from p in db.TB_Pesquisa join q in db.TB_Questoes on p.PesquisaId equals q.PesquisaId //join a in db.TB_Alternativas on q.QuestaoId equals a.QuestaoId join vr in db.TB_VigenciaPesquisa on p.PesquisaId equals vr.PesquisaId where vr.PesquisaId == p.PesquisaId //where q.QuestaoId == a.QuestaoId //where a.QuestaoId == q.QuestaoId where p.PesquisaId == Id_pesquisa select vr.DataFinalPesquisa.ToString()).Distinct(); IEnumerable <string> ViGenciaRespostaDia = (from p in db.TB_Pesquisa join q in db.TB_Questoes on p.PesquisaId equals q.PesquisaId //join a in db.TB_Alternativas on q.QuestaoId equals a.QuestaoId join vr in db.TB_VigenciaResposta on p.PesquisaId equals vr.PesquisaId where vr.PesquisaId == p.PesquisaId //where q.QuestaoId == a.QuestaoId //where a.QuestaoId == q.QuestaoId where p.PesquisaId == Id_pesquisa select vr.QuantidadeDias.ToString()).Distinct(); IEnumerable <string> DataEnvioPesquisa = (from p in db.TB_Pesquisa join q in db.TB_Participantes on p.PesquisaId equals q.PesquisaId join vr in db.TB_DataEnvioDataResposta on p.PesquisaId equals vr.PesquisaId where vr.PesquisaId == p.PesquisaId where vr.ParticipanteId == q.ParticipanteId where q.ParticipanteId == Id_Participante where p.PesquisaId == Id_pesquisa select vr.DataEnvio.ToString()).Distinct(); IEnumerable <string> DataRespostaPesquisa = (from p in db.TB_Pesquisa join q in db.TB_Participantes on p.PesquisaId equals q.PesquisaId join vr in db.TB_DataEnvioDataResposta on p.PesquisaId equals vr.PesquisaId where vr.PesquisaId == p.PesquisaId where vr.ParticipanteId == q.ParticipanteId where q.ParticipanteId == Id_Participante where p.PesquisaId == Id_pesquisa select vr.DataResposta.ToString()).Distinct(); DateTime ViGenciaPesquisaInic1 = DateTime.Parse(ViGenciaPesquisaInic.First <string>()); DateTime ViGenciaPesquisaFin1 = DateTime.Parse(ViGenciaPesquisaFin.First <string>()); int ViGenciaRespostaDia1 = int.Parse(ViGenciaRespostaDia.First <string>()); DateTime DataEnvioPesquisa1 = DateTime.Parse(DataEnvioPesquisa.First <string>()); if (ViGenciaPesquisaInic1 > DateTime.Parse(DateTime.Now.ToShortDateString()) || ViGenciaPesquisaFin1 < DateTime.Parse(DateTime.Now.ToShortDateString())) { return(View("~/Views/TB_VigenciaPesquisa/Error.cshtml")); } if (DataEnvioPesquisa1.AddDays(ViGenciaRespostaDia1) < DateTime.Now) { return(View("~/Views/TB_VigenciaResposta/Error.cshtml")); } var questoes = db.TB_Questoes.Where(x => x.PesquisaId == Id_pesquisa).ToList(); var listaDeQuestoes = new List <Formulario>(); var listaResposta = db.TB_Respostas.Where(y => y.ParticipanteId == Id_Participante).ToList(); if (listaResposta.Count != 0) { foreach (var item in questoes) { listaDeQuestoes.Add(new Formulario() { PesquisaId = item.PesquisaId, Titulo = item.TB_Pesquisa.Titulo, Descricao = item.TB_Pesquisa.Descricao, QuestaoId = item.QuestaoId, Questao = item.Questao, TipoRespostaId = item.TipoRespostaId, Alternativas = db.TB_Alternativas.Where(x => x.QuestaoId == item.QuestaoId).ToList(), VLResposta = string.Join(";", listaResposta.Where(x => x.QuestaoId == item.QuestaoId).Select(x => x.Resposta)) }); } } else { foreach (var item in questoes) { listaDeQuestoes.Add(new Formulario() { PesquisaId = item.PesquisaId, Titulo = item.TB_Pesquisa.Titulo, Descricao = item.TB_Pesquisa.Descricao, QuestaoId = item.QuestaoId, Questao = item.Questao, TipoRespostaId = item.TipoRespostaId, Alternativas = db.TB_Alternativas.Where(x => x.QuestaoId == item.QuestaoId).ToList(), //VLResposta = listaResposta.Where(x => x.QuestaoId == item.QuestaoId).Select(x => x.Resposta).First() VLResposta = string.Join(";", listaResposta.Where(x => x.QuestaoId == item.QuestaoId).Select(x => x.Resposta)) }); } } @ViewBag.Participante = Id_Participante; @ViewBag.Pesquisa = Id_pesquisa; //@ViewBag.Resposta = listaResposta; return(View(listaDeQuestoes)); } //return "Pesquisa já foi respondida. Este formulário será fechado. Obrigado (a)."; return(View("~/Views/TB_Formulario/Error.cshtml")); }
//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)); }