public List <ERespuesta> GetRespuestas(EPregunta pregunta) { List <ERespuesta> respuestas = db.TablaRespuestas.Where(x => x.IdPregunta == pregunta.Id).OrderBy(x => x.Id).ToList(); return(respuestas); }
public void EnviarExamen(string examen, string fecha, string hora, string minuto, string tituloTema, string contenidoTema, int idCurso) { ETema tema = new ETema(); contenidoTema = contenidoTema.Replace("\n\n", ""); contenidoTema = contenidoTema.Replace("\n", ""); tema.IdCurso = idCurso; tema.Titulo = tituloTema; tema.Informacion = contenidoTema; Base.Insertar(tema); EExamen examenCreado = new EExamen(); examenCreado.IdTema = tema.Id; int dia = Int32.Parse(fecha.Split('/')[0]); int mes = Int32.Parse(fecha.Split('/')[1]); int anio = Int32.Parse(fecha.Split('/')[2]); DateTime fechaFinalizacion = new DateTime(anio, mes, dia, Int32.Parse(hora), Int32.Parse(minuto), 0); examenCreado.FechaFin = fechaFinalizacion; Base.Insertar(examenCreado); JArray preguntasJson = JArray.Parse(examen); foreach (JToken preguntaJson in preguntasJson) { EPregunta pregunta = new EPregunta(); pregunta.IdExamen = examenCreado.Id; pregunta.TipoPregunta = preguntaJson["tipoPregunta"].ToString(); pregunta.Pregunta = preguntaJson["pregunta"].ToString(); pregunta.Porcentaje = Int32.Parse(preguntaJson["porcentaje"].ToString()); Base.Insertar(pregunta); if (pregunta.TipoPregunta.Equals("Múltiple con única respuesta")) { List <JToken> respuestasJson = preguntaJson["respuestas"].ToList(); int indiceRespuestaCorrecta = Int32.Parse(preguntaJson["respuestaMarcada"].ToString()); foreach (JToken respuestaJson in respuestasJson) { ERespuesta respuesta = new ERespuesta(); respuesta.IdPregunta = pregunta.Id; respuesta.Respuesta = respuestaJson.ToString(); if (respuestasJson.IndexOf(respuestaJson) == indiceRespuestaCorrecta) { respuesta.Estado = true; } else { respuesta.Estado = false; } Base.Insertar(respuesta); } } if (pregunta.TipoPregunta.Equals("Múltiple con múltiple respuesta")) { List <JToken> respuestasJson = preguntaJson["respuestas"].ToList(); List <JToken> indicesRespuestasMarcadasJson = preguntaJson["respuestasMarcadas"].ToList(); List <int> indicesRespuestasMarcadas = new List <int>(); foreach (JToken indiceRespuestaMarcadaJson in indicesRespuestasMarcadasJson) { indicesRespuestasMarcadas.Add(Int32.Parse(indiceRespuestaMarcadaJson.ToString())); } foreach (JToken respuestaJson in respuestasJson) { ERespuesta respuesta = new ERespuesta(); respuesta.IdPregunta = pregunta.Id; respuesta.Respuesta = respuestaJson.ToString(); if (indicesRespuestasMarcadas.Contains(respuestasJson.IndexOf(respuestaJson))) { respuesta.Estado = true; } else { respuesta.Estado = false; } Base.Insertar(respuesta); } } } }