public ActionResult Update(EncuestaEntity encuesta, List <PreguntaEntity1> Preguntas, List <ResOpcMultsEntity1> respuestas, string usuario, int activa)
        {
            UsuarioEntity user = proxyUsuario.GetUsuarioList().Where(o => o.Usuario.ToLower() == usuario.ToLower()).FirstOrDefault();

            encuesta.FechaCreacion = DateTime.Now.ToShortDateString();
            encuesta.IdUsuario     = user.IdUsuario.Value;
            if (activa == 1)
            {
                encuesta.Activa = true;
            }
            else
            {
                encuesta.Activa = false;
            }

            XElement xe = XElement.Parse(Globals.SerializeTool.Serialize <EncuestaEntity>(encuesta));

            XElement xmll = XElement.Parse(Globals.SerializeTool.SerializeList <PreguntaEntity1>(Preguntas));

            XElement fg = XElement.Parse(Globals.SerializeTool.SerializeList <ResOpcMultsEntity1>(respuestas));

            xe.Add(xmll, fg);
            int result = proxy.UpdateEncuesta(xe.ToString());

            return(null);
        }
Example #2
0
        // GET: /Encuestas/Edit/5
        public ActionResult EditEncuesta(int?idEncuesta)
        {
            List <EncuestaEntityIndex> encuestas = em.GetAllEncuestas();

            bool tieneRespuestas = false;

            foreach (var item in encuestas)
            {
                if (item.idEncuesta == idEncuesta)
                {
                    tieneRespuestas = item.RESPUESTAS > 0 ? true : false;
                }
            }

            if (idEncuesta == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            EncuestaEntity en = em.GetEncuestaById(idEncuesta);

            if (en == null)
            {
                return(HttpNotFound());
            }

            ViewBag.TieneRespuestas = tieneRespuestas;
            ViewBag.idTipoEncuesta  = new SelectList(db.TiposEncuesta, "idTipoEncuesta", "nombre", en.idTipoEncuesta);
            //ViewBag.idEncuesta = new SelectList(db.TiposEncuesta, "idTipoEncuesta", "nombre", en.idEncuesta);

            return(View(en));
        }
Example #3
0
        public int?AddEncuestaRel(EncuestaEntity lstEncuesta, List <PreguntaEntity> PreguntaAdd)
        {
            if (WebOperationContext.Current.IncomingRequest.Method == "OPTIONS")
            {
                return(null);
            }
            else
            {
                lstEncuesta.PreguntaAdd = PreguntaAdd;

                XElement xe = XElement.Parse(Globals.SerializeTool.Serialize <EncuestaEntity>(lstEncuesta));

                XElement xmll = XElement.Parse(Globals.SerializeTool.SerializeList <PreguntaEntity>(lstEncuesta.PreguntaAdd, "PreguntaAdd"));


                xe.Add(xmll);
                try
                {
                    return(Encuesta.AddEncuestaRel(xe.ToString()));
                }
                catch (Exception ex)
                {
                    throw new WebFaultException <string>(ex.Message + " " + xe.ToString(), HttpStatusCode.ExpectationFailed);
                }
            }
        }
Example #4
0
        public void CrearEncuesta(EncuestaEntity enc)
        {
            using (SitcomEntities db = new SitcomEntities())
            {
                //Si se selecciono setear como activa la encuesta, seteo como NO ACTIVAS la del MISMO TIPO que ya estaba anteriormente.
                if ((bool)enc.setearComoActiva)
                {
                    var result = (from e in db.Encuestas
                                  where e.idTipoEncuesta == enc.idTipoEncuesta &&
                                  e.esActiva == true
                                  select e).FirstOrDefault();

                    if (result != null)
                    {
                        result.esActiva = false;
                    }

                    db.SaveChanges();
                }

                Encuestas en = new Encuestas()
                {
                    nombre         = enc.nombre,
                    descripcion    = enc.descripcion,
                    idTipoEncuesta = enc.idTipoEncuesta,
                    esActiva       = enc.setearComoActiva
                };

                db.Encuestas.Add(en);
                db.SaveChanges();
            }
        }
Example #5
0
        public ActionResult VerEncuesta(int idEncuesta)
        {
            List <PreguntasEntity> pregsEncuesta = em.GetPreguntasEncuesta(idEncuesta);

            EncuestaEntity encu = em.GetEncuestaById(idEncuesta);

            ViewBag.Encuesta   = encu;
            ViewBag.IdEncuesta = idEncuesta;
            return(View(pregsEncuesta));
        }
Example #6
0
        public ActionResult Details(int id)
        {
            Detalle_encuesta        Encuesta           = new Detalle_encuesta();
            List <Detalle_pregunta> Lista_de_preguntas = new List <Detalle_pregunta>();
            ProcesoEncuestaEntity   proceso            = proxy.GetDeepProcesoEncuesta(id);



            EncuestaEntity objEncuesta = proxyencuesta.GetEncuesta(proceso.IdEncuesta);

            Encuesta.Encuesta = objEncuesta;
            List <RelPreguntaEncuestasEntity> lista_de_relaciones = rel_preg_encuesta.GetRelPreguntaEncuestasList().Where(x => x.IdEncuesta == objEncuesta.IdEncuesta).ToList();

            // foreach( var a in lista_de_relaciones.)

            //  List<PreguntaEntity> preguntas = preguntasService.GetPreguntaList().Where(o => o.RelPreguntaEncuestas.IdEncuesta == objEncuesta.IdEncuesta).ToList();
            // preguntas.Where(o=> o.RelPreguntaEncuestas.IdEncuesta==objEncuesta.IdEncuesta);
            foreach (var a in lista_de_relaciones)
            {
                Detalle_pregunta         pregunta = new Detalle_pregunta();
                List <ResOpcMultsEntity> r        = new List <ResOpcMultsEntity>();
                pregunta.Pregunta = a.Pregunta;

                List <RelPreguntaOpcMultsEntity> relaciones = relpregunta_resp.GetRelPreguntaOpcMultsList().Where(x => x.IdPregunta == a.IdPregunta).ToList();

                foreach (var resp in relaciones)
                {
                    ResOpcMultsEntity respuestas = Respuestas.GetResOpcMultsList().Where(o => o.Id_ResOpcMult == resp.Id_ResOpcMult).Select(o => o).First();

                    r.Add(respuestas);
                }


                pregunta.Respuestas = r;



                Lista_de_preguntas.Add(pregunta);
            }

            if (objEncuesta == null)
            {
                return(HttpNotFound());
            }

            ViewBag.IdEncuesta     = Encuesta.Encuesta.IdEncuesta;
            ViewBag.NombreEncuesta = Encuesta.Encuesta.TituloEncuesta;
            ViewBag.Descripcion    = Encuesta.Encuesta.Descripcion;
            ViewBag.FechaCreacion  = Encuesta.Encuesta.FechaCreacion;
            ViewData["preguntas"]  = Lista_de_preguntas;
            ViewData["id"]         = id;
            ViewData["terminado"]  = proceso.StatusEncuesta;
            ViewData["proceso"]    = proceso;
            return(View("PreView"));
        }
Example #7
0
        public ActionResult NuevaEncuesta([Bind(Include = "nombre,descripcion,idTipoEncuesta,setearComoActiva")] EncuestaEntity en)
        {
            if (ModelState.IsValid)
            {
                em.CrearEncuesta(en);
                return(RedirectToAction("EncuestasIndex"));
            }
            ViewBag.idTipoEncuesta = new SelectList(db.TiposEncuesta, "idTipoEncuesta", "nombre", en.idTipoEncuesta);

            return(View(en));
        }
        public string contenidopdf(int IdEncuesta)
        {
            StringBuilder sb = new StringBuilder();


            EncuestaEntity objEncuesta = proxy.GetEncuesta(IdEncuesta);

            sb.Append("<br>");
            sb.Append(@"<table ><tr><td>");

            sb.Append(@"<h3 align=""center"" style=""font-size:24px; align:center;"" >" + objEncuesta.TituloEncuesta + "</h3>");
            sb.Append(@"<h4 align=""center"" >" + objEncuesta.Descripcion + "</h4>");
            sb.Append("<br/>");
            sb.Append("<h5>Nombre cliente:___________________________ &nbsp;&nbsp;Contrato________________ &nbsp;&nbsp;Fecha:_______________</h5>");
            sb.Append("</td></tr></table>");


            List <RelPreguntaEncuestasEntity> lista_de_relaciones = rel_preg_encuesta.GetRelPreguntaEncuestasList().Where(x => x.IdEncuesta == objEncuesta.IdEncuesta).ToList();

            foreach (var a in lista_de_relaciones)
            {
                sb.Append("<h5><b>" + a.Pregunta.Pregunta + "</b></h5><br>");

                if (a.Pregunta.IdTipoPregunta == 1)
                {
                    sb.Append(@"<table border=1><tr><td>&nbsp;</td></tr></table>");
                    sb.Append(@"<br/>");
                    sb.Append(@"<table border=1><tr><td>&nbsp;</td></tr></table>");
                    sb.Append(@"<br/>");
                    sb.Append(@"<table border=1><tr><td>&nbsp;</td></tr></table>");
                    sb.Append(@"<br/>");
                }
                else if (a.Pregunta.IdTipoPregunta == 2)
                {
                    sb.Append(@"<h5>Si( )");
                    sb.Append(@"<h5>No( )</h5>");
                    sb.Append(@"<br/>");
                }
                else
                {
                    List <RelPreguntaOpcMultsEntity> relaciones = relpregunta_resp.GetRelPreguntaOpcMultsList().Where(x => x.IdPregunta == a.IdPregunta).ToList();
                    sb.Append(@"<table border=""0"">");
                    foreach (var resp in relaciones)
                    {
                        ResOpcMultsEntity respuestas = Respuestas.GetResOpcMultsList().Where(o => o.Id_ResOpcMult == resp.Id_ResOpcMult).Select(o => o).First();
                        sb.Append(@"<tr><td><h5 style=""font-size:8px;"">( )" + respuestas.ResOpcMult + "</h5></td><tr/>");
                    }
                    sb.Append("</table>");
                }
            }
            return(sb.ToString());
        }
Example #9
0
        public IHttpActionResult GuardaEncuestas(EncuestaEntity entrada)
        {
            EncuestaEntity entidad = new EncuestaEntity
            {
                Adquiere_CanastaGes  = entrada.Adquiere_CanastaGes,
                Adquiere_Consultorio = entrada.Adquiere_Consultorio,
                Adquiere_Farmacia    = entrada.Adquiere_Farmacia,

                Edad             = entrada.Edad,
                Enfermedad_1     = entrada.Enfermedad_1,
                Enfermedad_2     = entrada.Enfermedad_2,
                Enfermedad_3     = entrada.Enfermedad_3,
                Enfermedad_4     = entrada.Enfermedad_4,
                Enfermedad_5     = entrada.Enfermedad_5,
                Enfermedad_6     = entrada.Enfermedad_6,
                Enfermedad_7     = entrada.Enfermedad_7,
                Enfermedad_8     = entrada.Enfermedad_8,
                Enfermedad_9     = entrada.Enfermedad_9,
                Enfermedad_10    = entrada.Enfermedad_10,
                Enfermedad_11    = entrada.Enfermedad_11,
                Medicamentos_1   = entrada.Medicamentos_1,
                Medicamentos_2   = entrada.Medicamentos_2,
                Medicamentos_3   = entrada.Medicamentos_3,
                Medicamentos_4   = entrada.Medicamentos_4,
                Medicamentos_5   = entrada.Medicamentos_5,
                Medicamentos_6   = entrada.Medicamentos_6,
                Medicamentos_7   = entrada.Medicamentos_7,
                Medicamentos_8   = entrada.Medicamentos_8,
                Medicamentos_9   = entrada.Medicamentos_9,
                Medicamentos_10  = entrada.Medicamentos_10,
                Medicamentos_11  = entrada.Medicamentos_11,
                Medicamentos_12  = entrada.Medicamentos_12,
                Medicamentos_13  = entrada.Medicamentos_13,
                Medicamentos_14  = entrada.Medicamentos_14,
                Medicamentos_15  = entrada.Medicamentos_15,
                Medicamentos_16  = entrada.Medicamentos_16,
                NombreFarmacia   = entrada.NombreFarmacia,
                Nombre_Afiliado  = entrada.Nombre_Afiliado,
                Prevision        = entrada.Prevision,
                Rut_Afiliado     = entrada.Rut_Afiliado,
                Rut_Ejecutivo    = entrada.Rut_Ejecutivo,
                Sexo             = entrada.Sexo,
                Actividad        = entrada.Actividad,
                Sucursal         = entrada.Sucursal,
                Tiene_Enfermedad = entrada.Tiene_Enfermedad,
                Region           = entrada.Region,
                Flag_Encuesta    = entrada.Flag_Encuesta
            };

            AfiliadoDataAccess.GuardarEncuestaEnfermedades(entidad);
            return(Ok("OK"));
        }
Example #10
0
        public static void  GuardarEncuestaEnfermedades(EncuestaEntity entrada)
        {
            Parametros parametros = new Parametros
            {
                new Parametro("@Adquiere_CanastaGes ", entrada.Adquiere_CanastaGes),
                new Parametro("@Adquiere_Consultorio ", entrada.Adquiere_Consultorio),
                new Parametro("@Adquiere_Farmacia ", entrada.Adquiere_Farmacia),
                new Parametro("@Edad ", entrada.Edad),
                new Parametro("@Enfermedad_1 ", entrada.Enfermedad_1),
                new Parametro("@Enfermedad_2 ", entrada.Enfermedad_2),
                new Parametro("@Enfermedad_3 ", entrada.Enfermedad_3),
                new Parametro("@Enfermedad_4 ", entrada.Enfermedad_4),
                new Parametro("@Enfermedad_5 ", entrada.Enfermedad_5),
                new Parametro("@Enfermedad_6 ", entrada.Enfermedad_6),
                new Parametro("@Enfermedad_7 ", entrada.Enfermedad_7),
                new Parametro("@Enfermedad_8 ", entrada.Enfermedad_8),
                new Parametro("@Enfermedad_9 ", entrada.Enfermedad_9),
                new Parametro("@Enfermedad_10 ", entrada.Enfermedad_10),
                new Parametro("@Enfermedad_11 ", entrada.Enfermedad_11),
                new Parametro("@Medicamentos_1 ", entrada.Medicamentos_1),
                new Parametro("@Medicamentos_2 ", entrada.Medicamentos_2),
                new Parametro("@Medicamentos_3 ", entrada.Medicamentos_3),
                new Parametro("@Medicamentos_4 ", entrada.Medicamentos_4),
                new Parametro("@Medicamentos_5 ", entrada.Medicamentos_5),
                new Parametro("@Medicamentos_6 ", entrada.Medicamentos_6),
                new Parametro("@Medicamentos_7 ", entrada.Medicamentos_7),
                new Parametro("@Medicamentos_8 ", entrada.Medicamentos_8),
                new Parametro("@Medicamentos_9 ", entrada.Medicamentos_9),
                new Parametro("@Medicamentos_10 ", entrada.Medicamentos_10),
                new Parametro("@Medicamentos_11 ", entrada.Medicamentos_11),
                new Parametro("@Medicamentos_12 ", entrada.Medicamentos_12),
                new Parametro("@Medicamentos_13 ", entrada.Medicamentos_13),
                new Parametro("@Medicamentos_14 ", entrada.Medicamentos_14),
                new Parametro("@Medicamentos_15 ", entrada.Medicamentos_15),
                new Parametro("@Medicamentos_16 ", entrada.Medicamentos_16),
                new Parametro("@NombreFarmacia ", entrada.NombreFarmacia),
                new Parametro("@Actividad ", entrada.Actividad),
                new Parametro("@Nombre_Afiliado ", entrada.Nombre_Afiliado),
                new Parametro("@Prevision ", entrada.Prevision),
                new Parametro("@Rut_Afiliado ", entrada.Rut_Afiliado),
                new Parametro("@Rut_Ejecutivo ", entrada.Rut_Ejecutivo),
                new Parametro("@Sexo ", entrada.Sexo),
                new Parametro("@Sucursal ", entrada.Sucursal),
                new Parametro("@Tiene_Enfermedad ", entrada.Tiene_Enfermedad),
                new Parametro("@Region", entrada.Region),
                new Parametro("@Flag_Encuesta ", entrada.Flag_Encuesta),
            };

            DBHelper.InstanceCRM.EjecutarProcedimiento("dbo.sp_Encuesta_01_InsertEncuesta", parametros);
        }
Example #11
0
        public ActionResult DeepDetails(int id)
        {
            Detalle_encuesta        Encuesta           = new Detalle_encuesta();
            List <Detalle_pregunta> Lista_de_preguntas = new List <Detalle_pregunta>();



            EncuestaEntity objEncuesta = proxy.GetEncuesta(id);

            Encuesta.Encuesta = objEncuesta;
            //List<PreguntaEntity> preguntas = preguntasService.GetPreguntaList().Where(o => o.RelPreguntaEncuestas.IdEncuesta == objEncuesta.IdEncuesta).ToList();
            List <RelPreguntaEncuestasEntity> lista_de_relaciones = rel_preg_encuesta.GetRelPreguntaEncuestasList().Where(x => x.IdEncuesta == objEncuesta.IdEncuesta).ToList();

            foreach (var a in lista_de_relaciones)
            {
                Detalle_pregunta         pregunta = new Detalle_pregunta();
                List <ResOpcMultsEntity> r        = new List <ResOpcMultsEntity>();
                pregunta.Pregunta = a.Pregunta;

                List <RelPreguntaOpcMultsEntity> relaciones = relpregunta_resp.GetRelPreguntaOpcMultsList().Where(x => x.IdPregunta == a.IdPregunta).ToList();

                foreach (var resp in relaciones)
                {
                    ResOpcMultsEntity respuestas = Respuestas.GetResOpcMultsList().Where(o => o.Id_ResOpcMult == resp.Id_ResOpcMult).Select(o => o).First();

                    r.Add(respuestas);
                }


                pregunta.Respuestas = r;



                Lista_de_preguntas.Add(pregunta);
            }


            Encuesta.Preguntas = Lista_de_preguntas;


            if (objEncuesta == null)
            {
                return(HttpNotFound());
            }



            return(Json(Encuesta, JsonRequestBehavior.AllowGet));
        }
Example #12
0
        /// <summary>
        /// Converts data from reader to entity
        /// </summary>
        protected virtual EncuestaEntity GetEncuestaFromReader(IDataReader reader)
        {
            EncuestaEntity entity_Encuesta = null;

            try
            {
                entity_Encuesta                = new EncuestaEntity();
                entity_Encuesta.IdEncuesta     = (int?)(GetFromReader(reader, "IdEncuesta"));
                entity_Encuesta.TituloEncuesta = (String)(GetFromReader(reader, "TituloEncuesta", IsString: true));
                entity_Encuesta.Descripcion    = (String)(GetFromReader(reader, "Descripcion", IsString: true));
                entity_Encuesta.FechaCreacion  = (String)(GetFromReader(reader, "FechaCreacion"));
                entity_Encuesta.IdUsuario      = (int?)(GetFromReader(reader, "IdUsuario"));
                entity_Encuesta.Aplicada       = (bool?)(GetFromReader(reader, "Aplicada"));
            }
            catch (Exception ex)
            {
                throw new Exception("Error converting Encuesta data to entity", ex);
            }
            return(entity_Encuesta);
        }
        /// <summary>
        /// Gets Encuesta by
        ///</summary>
        public override EncuestaEntity GetEncuestaById(int?IdEncuesta)
        {
            using (SqlConnection connection = new SqlConnection(SoftvSettings.Settings.Encuesta.ConnectionString))
            {
                SqlCommand     comandoSql      = CreateCommand("Softv_EncuestaGetById", connection);
                EncuestaEntity entity_Encuesta = null;


                AssingParameter(comandoSql, "@IdEncuesta", IdEncuesta);

                IDataReader rd = null;
                try
                {
                    if (connection.State == ConnectionState.Closed)
                    {
                        connection.Open();
                    }
                    rd = ExecuteReader(comandoSql, CommandBehavior.SingleRow);
                    if (rd.Read())
                    {
                        entity_Encuesta = GetEncuestaFromReader(rd);
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception("Error getting data Encuesta " + ex.Message, ex);
                }
                finally
                {
                    if (connection != null)
                    {
                        connection.Close();
                    }
                    if (rd != null)
                    {
                        rd.Close();
                    }
                }
                return(entity_Encuesta);
            }
        }
Example #14
0
        public static EncuestaEntity GetOneDeep(int?IdEncuesta)
        {
            EncuestaEntity result = ProviderSoftv.Encuesta.GetEncuestaById(IdEncuesta);

            if (result.IdUsuario != null)
            {
                result.Usuario = ProviderSoftv.Usuario.GetUsuarioById(result.IdUsuario);
            }

            if (result.IdEncuesta != null)
            {
                result.RelPreguntaEncuestas = ProviderSoftv.RelPreguntaEncuestas.GetRelPreguntaEncuestasById(result.IdEncuesta);
            }

            if (result.IdEncuesta != null)
            {
                result.RelEncuestaClientes = ProviderSoftv.RelEncuestaClientes.GetRelEncuestaClientesById(result.IdEncuesta);
            }

            return(result);
        }
Example #15
0
        public ActionResult ResponderEncuesta(string tipoEncuesta, int idEncuestaAsignada)
        {
            int idTipoEncuesta = 0;

            switch (tipoEncuesta)
            {
            case "Lugar de hospedaje": idTipoEncuesta = 1;
                break;

            case "Comercio": idTipoEncuesta = 2;
                break;

            case "Ciudad": idTipoEncuesta = 3;
                break;

            default:
                break;
            }

            int idEncuesta = em.GetEncuestaVigente(idTipoEncuesta);

            EncuestaEntity enc = new EncuestaEntity();

            enc.idEncuesta     = idEncuesta;
            enc.idTipoEncuesta = idTipoEncuesta;
            enc.Preguntas1     = em.GetPreguntasEncuesta(idEncuesta).ToArray();

            //Obtengo el negocio de la encuesta. Siempre y cuando la misma sea de tipo Comercio o Lugar de Hospedaje.
            if (idTipoEncuesta == 1 || idTipoEncuesta == 2)
            {
                EncuestasAsignadas ea = em.GetEncuestaAsignadaById(idEncuestaAsignada);
                ViewBag.Negocio = ea.Negocio.nombre;
            }


            ViewBag.IdEncuestaAsignada = idEncuestaAsignada;
            return(View(enc));
        }
Example #16
0
        public ActionResult ResponderEncuesta(EncuestaEntity respuestas, int idEncuestaAsignada)
        {
            int noresp = 0;

            foreach (var item in respuestas.Preguntas1)
            {
                if (item.respuesta == null)
                {
                    noresp++;
                }
            }

            if (noresp > 0)
            {
                ViewBag.Error = "Faltan preguntas por responder!";
                ViewBag.IdEncuestaAsignada = idEncuestaAsignada;
                return(View(respuestas));
            }

            em.AgregarRespuestas(respuestas.Preguntas1, idEncuestaAsignada);

            return(RedirectToAction("EncuestasUsuario"));
        }
Example #17
0
        public ActionResult EncuestaPDF(int idencuesta)
        {
            //creamos un documento con un guid y lo guardamos en la carpeta temporal de windows
            string     fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".pdf";
            FileStream fs       = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.None);
            Document   document = new Document(PageSize.A4, 50, 50, 25, 50);
            PdfWriter  writer   = PdfWriter.GetInstance(document, fs);

            document.Open();

            //creamos el parrafo de titulo de la enciesra
            EncuestaEntity encuesta = proxy.GetEncuesta(idencuesta);
            Paragraph      titulo   = new Paragraph();

            titulo.Alignment = Element.ALIGN_CENTER;
            titulo.Font      = FontFactory.GetFont("Arial", 20);
            titulo.Font.SetStyle(Font.BOLD);
            titulo.Add(encuesta.TituloEncuesta);
            document.Add(titulo);

            //creamos el parrafo de la descripcion
            Paragraph detalle = new Paragraph();

            detalle.Alignment = Element.ALIGN_CENTER;
            detalle.Font      = FontFactory.GetFont("Arial", 17);
            detalle.Font.SetStyle(Font.BOLD);
            detalle.Add(encuesta.Descripcion);
            document.Add(detalle);
            document.Add(new Paragraph("\n"));//salto de linea

            //nombre
            Paragraph nombre = new Paragraph();

            nombre.Alignment = Element.ALIGN_LEFT;
            nombre.Font      = FontFactory.GetFont("Arial", 12);
            nombre.Font.SetStyle(Font.BOLD);
            nombre.Add("Nombre:______________________________________");
            document.Add(nombre);
            //contrato
            Paragraph contrato = new Paragraph();

            contrato.Alignment = Element.ALIGN_LEFT;
            contrato.Font      = FontFactory.GetFont("Arial", 12);
            contrato.Font.SetStyle(Font.BOLD);
            contrato.Add("Contrato:______________________        Fecha:_______________________");
            document.Add(contrato);
            //Separador
            Paragraph p = new Paragraph(new Chunk(new iTextSharp.text.pdf.draw.LineSeparator(0.0F, 100.0F, BaseColor.LIGHT_GRAY, Element.ALIGN_LEFT, 1)));

            document.Add(p);
            document.Add(new Paragraph("\n"));

            //listamos las preguntas y las respuestas y las agregamos a un parrafo
            List <RelPreguntaEncuestasEntity> lista_de_relaciones = rel_preg_encuesta.GetRelPreguntaEncuestasList().Where(x => x.IdEncuesta == encuesta.IdEncuesta).ToList();

            foreach (var a in lista_de_relaciones)
            {
                Paragraph pregunta = new Paragraph();
                pregunta.Alignment = Element.ALIGN_LEFT;
                pregunta.Font      = FontFactory.GetFont("Arial", 11);
                pregunta.Font.SetStyle(Font.BOLD);
                pregunta.Add(a.Pregunta.Pregunta);
                document.Add(pregunta);

                Paragraph respuesta = new Paragraph();
                respuesta.Alignment = Element.ALIGN_LEFT;
                respuesta.Font      = FontFactory.GetFont("Arial", 10);
                if (a.Pregunta.IdTipoPregunta == 1)
                {
                    respuesta.Add("_________________________________________________________________________________________");
                    respuesta.Add("\n");
                    respuesta.Add("_________________________________________________________________________________________");
                    respuesta.Add("\n");
                    respuesta.Add("_________________________________________________________________________________________");
                }
                else if (a.Pregunta.IdTipoPregunta == 2)
                {
                    respuesta.Add("Si( ) No( )");
                }
                else
                {
                    List <RelPreguntaOpcMultsEntity> relaciones = relpregunta_resp.GetRelPreguntaOpcMultsList().Where(x => x.IdPregunta == a.IdPregunta).ToList();
                    foreach (var resp in relaciones)
                    {
                        ResOpcMultsEntity respuestas = Respuestas.GetResOpcMultsList().Where(o => o.Id_ResOpcMult == resp.Id_ResOpcMult).Select(o => o).First();
                        respuesta.Add("( )" + respuestas.ResOpcMult);
                        respuesta.Add("\n");
                    }
                }
                document.Add(respuesta);
                document.Add(new Paragraph("\n"));
            }
            document.Close();
            //cerramos el documento y lo volvemos a abrir para agregar el numero de pagina a cada hoja
            PdfReader  rd        = new PdfReader(fileName);
            string     fileName2 = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".pdf";
            PdfStamper ps        = new PdfStamper(rd, new FileStream(fileName2, FileMode.Create));

            PdfImportedPage page;

            for (int i = 1; i <= rd.NumberOfPages; i++)
            {
                PdfContentByte canvas = ps.GetOverContent(i);
                page = ps.GetImportedPage(rd, i);
                BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
                canvas.BeginText();
                canvas.SetFontAndSize(bf, 8);

                canvas.ShowTextAligned(PdfContentByte.ALIGN_LEFT, " " + i, 300.7f, 20.7f, 0);
                canvas.EndText();
                canvas.AddTemplate(page, 0, 0);
            }
            ps.Close();
            //retornamos el archivo pero ahora con el nombre del titulo de la encuesta
            return(File(fileName2, "application/pdf", encuesta.TituloEncuesta + ".pdf"));
        }