// // GET: /Grupos/ public ActionResult Index() { String periodo = MConfiguracionApp.getPeridoActual(db); String idUsuario = sesion.getIdUsuario(); List <List <Grupo> > datos = new List <List <Grupo> >(); List <String> materias_ = new MCurso().getNombreMateriaMonitorCursos(idUsuario, periodo, 0); List <Grupo> datos_2 = null; // se consultan los grupos de cada materia foreach (String materia_ in materias_) { if (!materia_.Equals("")) { datos_2 = ConsumidorAppi.getProgramaMateria(periodo, materia_); if (datos_2 == null) { ViewBag.mensajeError = "Error al cargar los datos, compruebe su conexión a internet."; } else { datos.Add(datos_2); } } } List <grupos_acargo> grupos_acargo = (new MGrupos_acargo().getGrupuposPerido(db, idUsuario, periodo)); ViewBag.datos = datos; ViewBag.grupos_acargo = grupos_acargo; ViewBag.materiasMonitor = materias_; return(View(new grupos_acargo())); }
// // GET: /Clase/Details/5 public ActionResult Details(int id = 0) { String periodo = MConfiguracionApp.getPeridoActual(db); if (sesion.esAdministradorOrMonitor(db)) { Mclase aux = new Mclase(); ViewBag.perfil = sesion.getIPerfilUsusrio(); Mclase clase = aux.getClasePorId(id); if (clase == null) { return(HttpNotFound()); } List <estudiantes_asistentes> estudiantesAsistentes = aux.getEstudiantesAsistentes(id); List <String> idEstudiantes = estudiantesAsistentes.Select(x => x.estudiante_id).ToList(); List <EstudianteMateria> estudiantes = null; if (idEstudiantes.Count() > 0) { estudiantes = ConsumidorAppi.getDatosEstudiantesMateria(periodo, new MMateria().getNombreMateriaPorIDCurso(clase.cursos_id), idEstudiantes); } ViewBag.estudiantes = estudiantes; ViewBag.estudiantesAsistentes = estudiantesAsistentes; ViewBag.usuario = new MUsuario().getUsuarioId(clase.usuarios_id); return(View(clase)); } else { return(Redirect("~/Inicio/Login")); } }
public ActionResult Grupos() { if (sesion.esDocente(db)) { string id_docente = sesion.getIdUsuario(); string periodo = MConfiguracionApp.getPeridoActual(db); List <Grupo> grupos = ConsumidorAppi.getGrupos(periodo); List <Grupo> grupos_acargo = new List <Grupo>(); 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)) { grupos_acargo.Add(grupo); } } } ViewBag.grupos = grupos_acargo; return(View()); } else { return(Redirect("~/Inicio/Login")); } }
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 registrar_horario() { List <HorarioEstudiante> horario = null; horario = ConsumidorAppi.getHorarioEstudiante("2018-1", "CALCULO II"); ViewBag.horarios = horario; return(View("create_monitor")); }
// // GET: /Informe/Details/5 //public JsonResult getPorcentaje(string periodo ,string materia, string programa, int nota) //{ // List<ComportamientoNotaEstudiente> datos_2; // datos_2 = ConsumidorAppi.getNotaEstudianteMateriaAll(periodo, materia); // NumberFormatInfo provider = new NumberFormatInfo(); // return null; //} public ActionResult Reporte_asistencia(string periodo = "-", string materia = "Seleccione asignatura", string programa = "Todos") { if (session.esAdministrador(db)) { if (periodo.Equals("-")) { periodo = MConfiguracionApp.getPeridoActual(db); } //List<String> idEstudiantes = new List<string>(); List <ComportamientoNotaEstudiente> datos_2 = new List <ComportamientoNotaEstudiente>(); MInforme info = new MInforme(); SelectList programas; List <String[]> datos = new List <string[]>(); if (!materia.Equals("Seleccione asignatura")) { datos = info.consultarAsistencia(materia, periodo); //datos = info.consultarAsistencia(materia,periodo); datos_2 = ConsumidorAppi.getNotaEstudianteMateriaAll(periodo, materia); if (datos_2 != null) { // se filtra por el programa if (!programa.Equals("Todos")) { datos_2 = (from d in datos_2 where (d.nom_prog_matricula_estudiante.Equals(programa)) select d).ToList(); } } } programas = new SelectList((new MMateria()).getProgramasDeMateria(periodo, materia), "Value", "Text"); /// getProgramas(periodo, materia); ViewBag.periodos = new Mclase().getPeriodosRegistradosDeClase(db); ViewBag.materias = new SelectList(new MMateria().getMaterias_registro_grupos(db, periodo), "Value", "Text"); ViewBag.asistencia = datos; ViewBag.datos_estudiante = datos_2; ViewBag.asignatura = materia; ViewBag.programa = programa; ViewBag.programas = programas; ViewBag.periodo = periodo; ViewBag.peridoSeleccionado = periodo; session.setMateriaReporteAsistencia(materia); session.setPeridoReporteAsistencia(periodo); session.setProgramaReporteAsistencia(programa); return(View("Reporte_asistencia")); } else { return(Redirect("~/Inicio/Login")); } }
public JsonResult Login_test(String id = "") { Respuesta respuesta = new Respuesta(); if (!id.Equals("")) { Rutina.Rutinas(); List <MTest> mtest_disponibles = (new MTest()).getTestPeriodo("", 0, 0); mtest_disponibles = (from mt in mtest_disponibles where (DateTime.Compare(DateTime.Now, mt.fecha_inicio) >= 0 && mt.ferfil_usuario.Equals("Estudiante")) select mt).ToList(); if (mtest_disponibles.Count() > 0) { String periodo = MConfiguracionApp.getPeridoActual(db); Mclase mclase = new Mclase(); int asistencia = mclase.getCantidadClaseAsistidaEstudianteId(periodo, id); if (asistencia > 0) { EstudianteMateria estudiante = ConsumidorAppi.getEstudiantePorID(periodo, id); if (estudiante == null) { respuesta.RESPUESTA = "ERROR"; respuesta.MENSAJE = "Usuario no encontrado."; } else { sesion.setIPerfilUsusrio("Estudiante"); sesion.setIdUsurio(estudiante.num_identificacion); sesion.setINombreUsuario(estudiante.nom_largo); respuesta.RESPUESTA = "OK"; } } else { respuesta.RESPUESTA = "NO_ASISTE"; respuesta.MENSAJE = "Usted no está apto para realizar el test porque no ha asistido a monitorias en el periodo actual."; } } else { respuesta.RESPUESTA = "ERROR"; respuesta.MENSAJE = "😞 No hay Tests disponibles en este momento 😞."; } } else { respuesta.RESPUESTA = "ERROR"; respuesta.MENSAJE = "Identificación no valida."; } return(Json(respuesta)); }
// // GET: /Clase/Create public ActionResult Create(String materia = "") { String periodo = MConfiguracionApp.getPeridoActual(db); if (sesion.esMonitor(db)) { ViewBag.materiasMonitor = null; MCurso auxCurso = new MCurso(); String id_usuario = sesion.getIdUsuario(); var tienMateria = auxCurso.tieneCurso(id_usuario, materia, periodo); if (tienMateria) { List <grupos_acargo> grupos_acargo = (new MGrupos_acargo().getGrupuposPeridoMateria(db, id_usuario, periodo, materia)); sesion.setMateria(materia); List <EstudianteMateria> estudiantes = null; if (!materia.Equals("")) { estudiantes = ConsumidorAppi.getEstudiantesMateria(periodo, materia); if (estudiantes == null) { ViewBag.mensajeError = "Error al cargar los datos, compruebe su conexión a internet."; } } ViewBag.estudiantes = estudiantes; ViewBag.grupos_acargo = grupos_acargo; } else if (!materia.Equals("")) { ViewBag.mensajeError = "Asignatura '" + materia + "' No válida"; materia = ""; } ViewBag.materiasMonitor = auxCurso.getNombreMateriaMonitorCursos(id_usuario, periodo, 0); ViewBag.materiaSeleccionada = materia; return(View()); } else { return(Redirect("~/Inicio/Login")); } }
/// <summary> /// Consulta los programas filtrados por una materia en en un periodo /// </summary> /// <param name="periodo"></param> /// <param name="materia"></param> /// <returns></returns> public List <SelectListItem> getProgramasDeMateria(string periodo, string materia) { var grupos = ConsumidorAppi.getProgramaMateria(periodo, materia); List <SelectListItem> programas = null; if (grupos != null) { programas = (from pro in grupos group pro by pro.nom_unidad into temp select new SelectListItem { Value = temp.Key, Text = temp.Key }).ToList(); } else { programas = new List <SelectListItem>(); } return(programas); }
public JsonResult CaligicacionesRegistro() { List <String[]> calificaciones = new List <String[]>(); String asignatura = sesion.getMateria_nota(); String programa = sesion.getPrgrama_notas(); String grupo = sesion.getGrupo_nota(); String id_docente = sesion.getIdUsuario(); int id_calificacion = new MCalificaciones_periodo().getIdCalificacion(db, id_docente, programa, grupo, asignatura); calificaciones_periodo calificaciones_periodo = db.calificaciones_periodo.Find(id_calificacion); List <String> cabeza = new List <string>(); cabeza.Add("Identificación"); cabeza.Add("Nombre"); String[] notas; List <EstudianteMateria> estudiantes = ConsumidorAppi.getEstudiantesMateria(MConfiguracionApp.getPeridoActual(db), asignatura); try { if (calificaciones_periodo != null) { List <Notas> notas_registro = calificaciones_periodo.Notas.ToList(); List <String> cabeza_tem = (from n in notas_registro select(n.tipo)).Distinct().ToList(); List <String> idEstudiante_tem = (from n in notas_registro select(n.id_estudiante)).Distinct().ToList(); idEstudiante_tem = idEstudiante_tem.Union( (from e in estudiantes where (e.nom_materia == asignatura && e.num_grupo == grupo && e.nom_unidad == programa) select(e.num_identificacion)).ToList() ).Distinct().ToList(); cabeza = cabeza.Union(cabeza_tem).ToList(); calificaciones.Add(cabeza.ToArray()); double valorNota = 0; foreach (String id_ in idEstudiante_tem) { notas = new String[cabeza.Count()]; notas[0] = id_; String nombre = "Nombre no disponible"; var nom_estudiante = (from e in estudiantes where (e.num_identificacion == id_) select(e.nom_largo)); if (nom_estudiante.Count() > 0) { nombre = (nom_estudiante).First(); } notas[1] = nombre; for (int i = 0; i < cabeza_tem.Count(); i++) { valorNota = 0; try { valorNota = (from n in notas_registro where (n.id_estudiante == id_ && n.tipo == cabeza_tem[i])select(n.valor)).First(); } catch (Exception) { } notas[i + 2] = "" + valorNota; } calificaciones.Add(notas); } } else { calificaciones.Add(cabeza.ToArray()); var estudiantesTemporal = (from e in estudiantes where (e.nom_materia == asignatura && e.num_grupo == grupo && e.nom_unidad == programa) select(e)).ToList(); foreach (var e in estudiantesTemporal) { calificaciones.Add(new String[] { e.num_identificacion, e.nom_largo }); } //se consultan los estudiantes } } catch (Exception) { calificaciones.Add(cabeza.ToArray()); } return(Json(calificaciones)); }
/// <summary> /// Crear el excel de las asistencia de los estudiantes a monitoria de una materia en un periodo /// </summary> /// <returns></returns> public DataTable getExceAsistenciaMonitoria() { Sesion session = new Sesion(); string materia = session.getMateriaReporteAsistencia(); string periodo = session.getperiodoReporteAsistencia(); string programa = session.getProgramaReporteAsistencia(); List <ComportamientoNotaEstudiente> datos_2 = new List <ComportamientoNotaEstudiente>(); MInforme info = new MInforme(); List <String[]> asistencia = info.consultarAsistencia(materia, periodo); datos_2 = ConsumidorAppi.getNotaEstudianteMateriaAll(periodo, materia); if (datos_2 != null) { // se filtra por el programa if (!programa.Equals("Todos")) { datos_2 = (from d in datos_2 where (d.nom_prog_matricula_estudiante.Equals(programa)) select d).ToList(); } } // se crea la cabecera DataTable dt = new DataTable("reporte_asistencia_sima"); dt.Columns.AddRange( new DataColumn[8] { new DataColumn("Identificación"), new DataColumn("Nombre"), new DataColumn("Programa"), new DataColumn("Nota corte 1"), new DataColumn("Nota corte 2"), new DataColumn("Definitiva"), new DataColumn("Asistencias a monitoria"), new DataColumn("Inasistencias a clase") }); NumberFormatInfo provider = new NumberFormatInfo(); // cargamos los datos if (datos_2 != null) { List <string> ides = (from e in datos_2 select(e.num_identificacion)).Distinct().ToList(); // List<string> id_asistencia = (from a in asistencia select (a[1])).ToList(); // ides = ides.Union(id_asistencia).ToList(); string canti_asistencia; foreach (var id in ides) { string string_nota1 = "0"; string string_nota2 = "0"; canti_asistencia = "0"; string nombre; string programa_unidad; string nota1Redondeada; string nota2Redondeada; string notaFin_; string fallas_clase = "0"; var estudiante = (from e in datos_2 where (e.num_identificacion.Equals(id))select(e)).ToList(); var tem = (from a in asistencia where (a[1].Equals(id))select(a[0])).ToList(); if (tem.Count() > 0) { ///asistencia a monitorias canti_asistencia = tem.First(); } if (estudiante.Count() > 0) { string_nota1 = (from n in estudiante where (n.num_nota.Equals("1"))select(n.nota)).First(); string_nota2 = (from n in estudiante where (n.num_nota.Equals("2"))select(n.nota)).First(); nombre = estudiante[0].nom_largo; programa_unidad = estudiante[0].nom_unidad; if (string_nota2.Equals("0") || string_nota2.Equals("0.0")) { nota1Redondeada = "0,0"; } else { nota1Redondeada = (Double.Parse(string_nota1, provider).ToString("#.##")); } if (string_nota2.Equals("0") || string_nota2.Equals("0.0")) { nota2Redondeada = "0,0"; } else { nota2Redondeada = (Double.Parse(string_nota2, provider).ToString("#.##")); } provider.NumberDecimalSeparator = "."; double nota1 = Double.Parse(string_nota1, provider) * (0.4); double nota2 = Double.Parse(string_nota2, provider) * (0.6); double notaFin = nota1 + nota2; notaFin_ = "" + (Math.Round(notaFin, 1)); fallas_clase = estudiante[1].num_fallas; } else { nombre = "Nombre no identificado"; programa_unidad = "Programa no identificado"; nota1Redondeada = "0,0"; nota2Redondeada = "0,0"; notaFin_ = "0,0"; fallas_clase = "0"; } dt.Rows.Add(id, nombre, programa_unidad, nota1Redondeada, nota2Redondeada, notaFin_, canti_asistencia, fallas_clase ); } } return(dt); }