public SeccionConPreguntas ArmarSeccion(string id) { // Sacar codigo y nombre de la BD Seccion secDB = db.Seccion.Find(id); if (secDB == null) { return(null); } SeccionConPreguntas seccion = new SeccionConPreguntas(); // Asignar datos de la DB al objeto especial seccion.CodigoSeccion = secDB.Codigo; seccion.Nombre = secDB.Nombre; seccion.Orden = 0; // Sacar las preguntas y obtener opciones y/o justificaciones PreguntasController preguntasController = new PreguntasController(this.db); seccion.Preguntas = preguntasController.ArmarPreguntas(seccion); preguntasController.ObtenerInformacionDePreguntas(seccion.Preguntas, seccion.CodigoSeccion, null); return(seccion); }
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); } } }