public async ValueTask <string> Get(MTest test) { return(await TestBll.Get()); //throw new Exception("test exception"); // return "OK"; }
public ActionResult Tests(String mensaje = null) { if (!sesion.getIdUsuario().Equals("") && (sesion.getIPerfilUsusrio().Equals("Estudiante") || sesion.getIPerfilUsusrio().Equals("Docente"))) { Mclase mclase = new Mclase(); List <MCurso> mcursos = null; String periodo = MConfiguracionApp.getPeridoActual(db); // se consulta los grupos donde el estudiante a dado clase if (sesion.getIPerfilUsusrio().Equals("Estudiante")) { mcursos = mclase.getCursos_por_clase(periodo, sesion.getIdUsuario()); } else { List <string> materiasDocente = new List <string>(); string id_docente = sesion.getIdUsuario(); List <Grupo> grupos = ConsumidorAppi.getGrupos(periodo); if (grupos != null) { MMateria tem = new MMateria(); grupos = (from g in grupos where (g.doc_docente.Equals(id_docente)) select g).ToList(); foreach (var grupo in grupos) { if (tem.esMonitoreadaMateria(periodo, grupo.nom_materia)) { materiasDocente.Add(grupo.nom_materia); } } materiasDocente = materiasDocente.Distinct().ToList(); } mcursos = new List <MCurso> (); foreach (String item in materiasDocente) { mcursos = mcursos.Union(new MCurso().getCursoMateria(item, periodo)).ToList(); } } // DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss-ff") DateTime fechaHoya = DateTime.Now; List <MTest> mtests = new MTest().getTestPeriodo("", 0, 0);// se consultan los test abiertos // se consultan solo los test de los monitores mtests = (from c in mtests where (DateTime.Compare(DateTime.Now, c.fecha_inicio) >= 0 && c.periodo == periodo && c.eliminado == 0 && c.ferfil_usuario == sesion.getIPerfilUsusrio()) select c).ToList(); // 1 se consultas la materias docentes // 2 se consultas los grupos q tienen de cada materia // 3 se ViewBag.mtests = mtests; ViewBag.mcursos = mcursos; ViewBag.mensaje = mensaje; ViewBag.perfil = sesion.getIPerfilUsusrio(); return(View()); } return(Redirect("~/Inicio/Login")); }
public ActionResult Crear(MTest Mtest, int[] id_preguntas = null) { Respuesta respuesta = new Respuesta(); if (id_preguntas == null) { respuesta.RESPUESTA = "ERROR"; respuesta.MENSAJE = "Debe seleccionar al menos 1 pregunta."; } else if (sesion.esAdministrador(db)) { if (ModelState.IsValid) { Test test_ = new Test(); test_.eliminado = 0; test_.estado_cierre = 0; test_.id_usuario_creado = sesion.getIdUsuario(); test_.fecha_fin = Mtest.fecha_fin; test_.fecha_inicio = Mtest.fecha_inicio; test_.periodo = MConfiguracionApp.getPeridoActual(db); test_.ferfil_usuario = Mtest.ferfil_usuario; bool respuesta_guardado = Mtest.guardar_Test(test_, id_preguntas); if (respuesta_guardado) { respuesta.RESPUESTA = "OK"; respuesta.MENSAJE = "Test guardada correctamente."; } else { respuesta.RESPUESTA = "ERROR"; respuesta.MENSAJE = "Error al registrar al Test."; } } else { respuesta.RESPUESTA = "ERROR"; respuesta.MENSAJE = "Los datos ingresados son incorrecotos."; } } else { respuesta.RESPUESTA = "LOGIN"; } return(Json(respuesta)); }
public ActionResult Evaluacion_test(int id, int grupo = -1) { try { if (sesion.esAdministradorOrMonitor(db)) { cursos c = db.cursos.Find(grupo); if (sesion.esEstudiante()) { c = (from c2 in db.cursos where (c2.id == grupo) select c2).First(); } String titleBar = " - GENERAL"; if (grupo > 0) { titleBar = " - " + c.usuarios.nombre + " " + c.usuarios.apellidos + " - " + c.nombre_materia; } MTest mtAux = new MTest(); // es una lista[idPregunta, puntos] List <String[]> puntosAll = mtAux.getPreguntaPuntosTotal(id, grupo); List <String[]> comentarioPregunta = mtAux.getCometariosPreguntasAbiertaTest(id, grupo); List <MPreguntas_test> preguntasAll = mtAux.getPreguntas_test(id).OrderBy(x => x.id).ToList(); int cantidad = mtAux.ContarCantidaUasuarioRespondenTest(id, grupo); Test test = db.Test.Find(id); List <MCurso> mcursos = new MCurso().getCursos("", test.periodo); ViewBag.preguntasTest = preguntasAll; ViewBag.puntoPreguntas = puntosAll; ViewBag.comentarioPreguntas = comentarioPregunta; ViewBag.id = id; ViewBag.perfil = sesion.getIPerfilUsusrio(); ViewBag.cantidad = cantidad; ViewBag.curos = mcursos; ViewBag.id_curso = grupo; ViewBag.titleBar = titleBar; return(View()); } else { return(Redirect("~/Inicio/Login")); } } catch (Exception) { return(Redirect("~/Inicio/Login")); } }
// // GET: /Test/ public ActionResult Detalles(int id) { if (sesion.esAdministrador(db)) { MTest mtAuxiliar = new MTest(); MTest mtest = (mtAuxiliar.getTestPorId(id)); if (mtest == null) { return(Historial_test()); } List <MPreguntas_test> preguntas_test = mtAuxiliar.getPreguntas_test(id); ViewBag.preguntas = preguntas_test; return(View(mtest)); } return(Redirect("~/Inicio/Login")); }
public ActionResult Edit_test(int id) { if (sesion.esAdministrador(db)) { MTest mtstAux = new MTest(); List <MPreguntas_test> preguntas = (new MPreguntas_test()).getPreguntas(0); ViewBag.preguntas = preguntas; MTest mtst = (mtstAux.getTestPorId(id)); List <MPreguntas_test> preguntaTest = mtstAux.getPreguntas_test(id); ViewBag.preguntas = preguntas; ViewBag.preguntaTest = preguntaTest; return(View(mtst)); } else { return(Redirect("~/Inicio/Login")); } }
public JsonResult Edit_test(MTest Mtest, int[] id_preguntas = null) { Respuesta respuesta = new Respuesta(); if (id_preguntas == null) { respuesta.RESPUESTA = "ERROR"; respuesta.MENSAJE = "Debe seleccionar al menos 1 pregunta."; } else if (sesion.esAdministrador(db)) { if (ModelState.IsValid) { int respuesta_guardado = Mtest.actualizar_test(db, Mtest); if (respuesta_guardado > 0) { respuesta.RESPUESTA = "OK"; respuesta.MENSAJE = "Test actualizado correctamente."; bool pregunta_save = Mtest.guardar_Test(null, id_preguntas, Mtest.id); if (!pregunta_save) { respuesta.RESPUESTA = "NO_PREGUNTA"; respuesta.MENSAJE = "Los datos principales del test se actualizaron.<br>" + "Las preguntas no fueron editadas porque los ususrios comezarón a responder el test."; } } else { respuesta.RESPUESTA = "ERROR"; respuesta.MENSAJE = "Error al actualizar al Test."; } } else { respuesta.RESPUESTA = "ERROR"; respuesta.MENSAJE = "Los datos ingresados son incorrecotos."; } } else { respuesta.RESPUESTA = "LOGIN"; } return(Json(respuesta)); }
public JsonResult Delete(int id) { Respuesta respuesta = new Respuesta(); if (sesion.esAdministrador(db)) { int respusta = new MTest().eliminarPregunta(db, id); if (respusta > 0) { respuesta.RESPUESTA = "OK"; respuesta.MENSAJE = "Pregunta eliminada exite."; } else { respuesta.RESPUESTA = "ERROR"; respuesta.MENSAJE = "Pregunta no eliminada."; } } else { respuesta.RESPUESTA = "LOGIN"; } return(Json(respuesta)); }
public ActionResult Responder_test(String test = "", String curso = "") { String mensaje = null; if (sesion.esEstudiante()) { try { int id_test = Convert.ToInt32(test); int id_curso = Convert.ToInt32(curso); String peridio = MConfiguracionApp.getPeridoActual(db); MTest mtestAux = new MTest(); MTest testResponder = mtestAux.getTestPorId(id_test); // se verifica q el perfil se el correcto y que el teste no este cerrado if (testResponder.ferfil_usuario.Equals(sesion.getIPerfilUsusrio()) && testResponder.estado_cierre == 0 && testResponder.eliminado == 0 && testResponder.periodo.Equals(peridio)) { // se verifica q haya asistido al menos a una calse del curso if (new Mclase().getClaseAsistedaEstudianteEnGrupo(id_curso, sesion.getIdUsuario()) > 0) { // se verfica si ya el estudiante ha respondeido el test bool respondio = mtestAux.isRespondioTest(id_curso, id_test); if (!respondio) { //DateTime.Compare(DateTime.Now, c.fecha_inicio)>=0 && MTest mtest = (mtestAux.getTestPorId(id_test)); if (DateTime.Compare(DateTime.Now, mtest.fecha_inicio) >= 0) { sesion.setId_test_responder(id_test); sesion.setIdCurso_test(id_curso); List <MPreguntas_test> preguntas = null; if (mtest != null) { preguntas = mtest.getPreguntas_test_a_responder(db, mtest.id); } ViewBag.test = mtest; ViewBag.preguntas = preguntas; return(View("Responder_test")); } else { mensaje = "Test no esta disponible."; } } else { mensaje = "Usted ya respondió el test seleccionado."; } } else { mensaje = "usted no está apto para responder el test."; } } else { mensaje = "Usted no está seleccionado para responder este test o el test está finalizado"; } } catch (Exception) { mensaje = "Datos de entrada incorrectos"; } return(Redirect("~/Test/Tests/?mensaje=" + mensaje)); } else { return(Redirect("~/Inicio/Login")); } }
public JsonResult Guardar_respuesta() { Respuesta respuesta = new Respuesta(); bool error = false; List <respuestas> respuestas = new List <respuestas>(); List <MPreguntas_test> preguntas = null; MTest test = new MTest(); // se consultas las pregunta asignadas al test preguntas = (test).getPreguntas_test_a_responder(db, Convert.ToInt32(sesion.getId_test_responder())); // se resta uno por el toke de validacion if (preguntas.Count() == Request.Form.Count - 1) { foreach (MPreguntas_test mpreguta in preguntas) { // se consulta id de la relacion de las preguntas con el test pregunta_test_responder pre_responder = test.getPregunta_test_responder(db, Convert.ToInt32(sesion.getId_test_responder()), mpreguta.id); String observacion = null; int punto = 0; if (mpreguta.tipo.Equals("Abierta")) { //los nombre de los inputs es el id de la pregunta observacion = Request.Form["" + mpreguta.id]; if (observacion.Count() <= 3) { respuesta.RESPUESTA = "ERROR"; respuesta.MENSAJE = "Las preguntas abiertas deben tener minimo tres caracteres en la respuesta."; error = true; } } else if (mpreguta.tipo.Equals("Cerrada")) { punto = Convert.ToInt32(Request.Form["" + mpreguta.id]); if (punto < 1 || punto > 10) { error = true; respuesta.RESPUESTA = "ERROR"; respuesta.MENSAJE = "Error en la respuesta de '" + mpreguta.Pregunata + "'."; } } respuestas.Add(new respuestas { id_persona = sesion.getIdUsuario(), observacion = observacion, punto = punto, id_preguntas_test_respustas = pre_responder.id, id_curso = sesion.getIdCurso_test() }); } if (!error) { bool respusta_ = test.guardar_respuestas_test(db, respuestas); if (!respusta_) { respuesta.RESPUESTA = "ERROR"; respuesta.MENSAJE = "Error al guardar."; } else { respuesta.RESPUESTA = "OK"; respuesta.MENSAJE = "Su respuesta fue guardada con exito. Gracias por participar."; } } } else { respuesta.RESPUESTA = "ERROR"; respuesta.MENSAJE = "Responda todas las preguntas antes de guardar."; } return(Json(respuesta)); }