Ejemplo n.º 1
0
        public PreguntaWrapper GetPreguntaWrapperByPregunta(Pregunta pregunta)
        {
            var preguntaWrapper = new PreguntaWrapper
            {
                Clase           = pregunta.Clase != null ? pregunta.Clase.Nombre : string.Empty,
                Tema            = pregunta.Tema != null ? pregunta.Tema.Nombre : string.Empty,
                IdPregunta      = pregunta.IdPregunta,
                Pregunta        = pregunta.Pregunta1,
                Nro             = pregunta.Nro,
                DisponibleDesde = pregunta.FechaDisponibleDesde,
                DisponibleHasta = pregunta.FechaDisponibleHasta,
                YaRespondida    = pregunta.RespuestaAlumno.Any(x => x.IdAlumno == UserCache.IdUsuario),
                PlazoVencido    = pregunta.FechaDisponibleHasta < DateTime.Now
            };

            if (preguntaWrapper.YaRespondida)
            {
                RespuestaAlumno respuestaAlumno = pregunta.RespuestaAlumno.FirstOrDefault(x => x.IdAlumno == UserCache.IdUsuario);

                if (respuestaAlumno != null)
                {
                    switch (respuestaAlumno.IdResultadoEvaluacion)
                    {
                    case (int)EnumEstadoPreguntaFiltro.Correcta:
                        preguntaWrapper.ResultadoCorreccion = string.Format("Correcta | {0}° | {1}pts ", respuestaAlumno.Orden, respuestaAlumno.Puntos);
                        if (respuestaAlumno.MejorRespuesta)
                        {
                            preguntaWrapper.ResultadoCorreccion = string.Format("{0} | ¡Mejor Respuesta!", preguntaWrapper.ResultadoCorreccion);
                        }
                        break;

                    case (int)EnumEstadoPreguntaFiltro.Regular:
                        preguntaWrapper.ResultadoCorreccion = string.Format("Regular | {0}° | {1}pts", respuestaAlumno.Orden, respuestaAlumno.Puntos);
                        break;

                    case (int)EnumEstadoPreguntaFiltro.Mal:
                        preguntaWrapper.ResultadoCorreccion = "Mal";
                        break;

                    default:
                        preguntaWrapper.ResultadoCorreccion = "Corrección Pendiente";
                        break;
                    }

                    if (respuestaAlumno.IdResultadoEvaluacion != null)
                    {
                        preguntaWrapper.EstadoCorreccion = (EnumEstadoPreguntaFiltro)respuestaAlumno.IdResultadoEvaluacion;
                    }

                    preguntaWrapper.Respuesta = respuestaAlumno.Respuesta;
                }
            }

            return(preguntaWrapper);
        }
Ejemplo n.º 2
0
        public ActionResult VerRespuesta(int id)
        {
            if (!Request.IsAuthenticated)
            {
                return(RedirectToAction("Ingresar", "Home", new { returnUrl = Request.Url.ToString() }));
            }

            Pregunta pregunta = this.PreguntaService.GetById(Convert.ToInt32(id));

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

            PreguntaWrapper preguntaWrapper = this.PreguntaService.GetPreguntaWrapperByPregunta(pregunta);

            return(View(preguntaWrapper));
        }