コード例 #1
0
        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);
                }
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        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));
        }
コード例 #5
0
        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);
        }