public IActionResult obtenerRespuestasEvaluacion(int EstudianteId, int EvaluacionId, string Facultad) { try { _nodoFacultad.SeleccionarNodoFacultad(Facultad); RespuestasResponse rr = _evaluacion.obtenerRespuestasEvaluacion(EvaluacionId, EstudianteId); return(Ok(new { Respuestas = rr })); } catch (Exception e) { return(BadRequest(new { error = "Algo salio mal", source = e.Source, message = e.Message, trace = e.StackTrace })); } }
public RespuestasResponse obtenerRespuestasEvaluacion(int EvaluacionId, int EstudianteId) { RespuestasResponse response = new RespuestasResponse { desarrollos = new List <RespuestaDesarrolloResponse>(), vofs = new List <RespVerdaderoFalsoResponse>() }; var vofs = _context.VerdaderoFalso.Where(v => v.EvaluacionId == EvaluacionId).ToList(); foreach (var vof in vofs) { var respVerdaderoFalsoResponse = new RespVerdaderoFalsoResponse { Id = vof.Id, Frase = vof.Frase, MultipleOpcion = vof.MultipleOpcion, Opciones = new List <RespuestaOpcionResponse>() }; var opciones = _context.OpcionesVoF.Where(o => o.VerdaderoFalsoId == vof.Id).ToList(); foreach (var opc in opciones) { var respuestaVof = _context.RespuestaVoF.SingleOrDefault(v => v.EstudianteId == EstudianteId && v.OpcionId == opc.Id); var respuestaVofResponse = new RespuestaVoFResponse { Id = respuestaVof.Id, Eleccion = respuestaVof.Eleccion }; var respuestaOpciones = new RespuestaOpcionResponse { Id = opc.Id, Frase = opc.Frase, respuesta = respuestaVofResponse }; respVerdaderoFalsoResponse.Opciones.Add(respuestaOpciones); } response.vofs.Add(respVerdaderoFalsoResponse); } var des = _context.Desarrollo.Where(d => d.EvaluacionId == EvaluacionId).ToList(); foreach (var desarrollo in des) { var respuestaDesarrollo = _context.RespuestaDesarrollo.SingleOrDefault(d => d.EstudianteId == EstudianteId && d.DesarrolloId == desarrollo.Id); var responseDesarrollo = new RespuestaDesarrolloResponse { Id = respuestaDesarrollo.Id, Puntaje = respuestaDesarrollo.Puntaje, Respuesta = respuestaDesarrollo.Respuesta, Pregunta = desarrollo.Pregunta }; response.desarrollos.Add(responseDesarrollo); } return(response); }