public void ObtenerSeccionesConPreguntas(LlenarFormulario formulario, ObjectResult <ObtenerSeccionesDeFormulario_Result> seccionesDeFormulario, Respuestas_a_formulario respuestas, bool editar) { if (formulario != null && seccionesDeFormulario != null) { foreach (var seccion in seccionesDeFormulario.ToList()) { List <ObtenerPreguntasDeSeccion_Result> preguntas = db.ObtenerPreguntasDeSeccion(seccion.Codigo).ToList(); SeccionConPreguntas nuevaSeccion = new SeccionConPreguntas { CodigoSeccion = seccion.Codigo, Nombre = seccion.Nombre, Preguntas = new List <PreguntaConNumeroSeccion>(), Orden = seccion.Orden }; PreguntasController preguntasController = new PreguntasController(this.db); foreach (var pregunta in preguntas) { nuevaSeccion.Preguntas.Add(new PreguntaConNumeroSeccion { Pregunta = new Pregunta { Codigo = pregunta.Codigo, Enunciado = pregunta.Enunciado, Tipo = pregunta.Tipo }, OrdenSeccion = nuevaSeccion.Orden, CodigoSeccion = nuevaSeccion.CodigoSeccion, OrdenPregunta = pregunta.Orden, Edit = editar }); preguntasController.ObtenerInformacionDePreguntas(nuevaSeccion.Preguntas, nuevaSeccion.CodigoSeccion, respuestas); } formulario.Secciones.Add(nuevaSeccion); } } }
public List <SeccionConPreguntas> ObtenerSeccionesConPreguntasEditable(string id) { Formulario formularioDB = db.Formulario.Find(id); LlenarFormulario formulario = new LlenarFormulario { Formulario = formularioDB, Secciones = new List <SeccionConPreguntas>() }; ObjectResult <ObtenerSeccionesDeFormulario_Result> seccionesDeFormulario = db.ObtenerSeccionesDeFormulario(id); ObtenerSeccionesConPreguntas(formulario, seccionesDeFormulario, null, true); foreach (var seccion in formulario.Secciones) { seccion.Edicion = true; } return(formulario.Secciones); }
public ActionResult VistaPrevia(string id) { if (!permissionManager.IsAuthorized(Permission.VER_FORMULARIO)) { TempData["alertmessage"] = "No tiene permisos para acceder a esta página."; return(RedirectToAction("../Home/Index")); } if (HttpContext == null) { return(Redirect("~/")); } Formulario formularioDB = db.Formulario.Find(id); if (formularioDB == null) { return(RedirectToAction("../Formularios/Index")); } LlenarFormulario formulario = CrearFormulario(id, formularioDB, null); return(View(formulario)); }
public ActionResult LlenarFormulario(string id, string sigla, byte?num, int?anno, byte?semestre) { if (!permissionManager.IsAuthorized(Permission.LLENAR_FORMULARIO)) { TempData["alertmessage"] = "No tiene permisos para acceder a esta página."; return(RedirectToAction("../Home/Index")); } if (num == null || anno == null || semestre == null) { return(RedirectToAction("MisFormularios")); } Grupo grupo = new Grupo { SiglaCurso = sigla, Anno = (int)anno, NumGrupo = (byte)num, Semestre = (byte)semestre }; if (HttpContext == null) { return(Redirect("~/")); } Formulario formularioDB = db.Formulario.Find(id); if (formularioDB == null) { return(RedirectToAction("MisFormularios")); } LlenarFormulario formulario = CrearFormulario(id, formularioDB, grupo); formulario.Grupo = grupo; return(View(formulario)); }
public LlenarFormulario CrearFormulario(string id, Formulario formularioDB, Grupo grupo) { LlenarFormulario formulario = new LlenarFormulario { Formulario = formularioDB, Secciones = new List <SeccionConPreguntas>() }; ObjectResult <ObtenerSeccionesDeFormulario_Result> seccionesDeFormulario = db.ObtenerSeccionesDeFormulario(id); ObjectResult <ObtenerRespuestasAFormulario_Result> respuestasObtenidas = null; if (grupo != null) { respuestasObtenidas = db.ObtenerRespuestasAFormulario(formularioDB.Codigo, HttpContext.User.Identity.Name, "CI0128", 1, 2019, 2); } Respuestas_a_formulario respuestas = new Respuestas_a_formulario(); if (respuestasObtenidas != null) { var respuestasList = respuestasObtenidas.FirstOrDefault(); if (respuestasList != null) { respuestas.FCodigo = respuestasList.FCodigo; respuestas.Correo = respuestasList.Correo; respuestas.CSigla = respuestasList.CSigla; respuestas.Fecha = respuestasList.Fecha; respuestas.Finalizado = respuestas.Finalizado; respuestas.GAnno = respuestasList.GAnno; respuestas.GNumero = respuestasList.GNumero; respuestas.GSemestre = respuestasList.GSemestre; } } SeccionController seccionController = new SeccionController(this.db); seccionController.ObtenerSeccionesConPreguntas(formulario, seccionesDeFormulario, respuestas, false); return(formulario); }