//
        // 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()));
        }
Beispiel #2
0
        //
        // 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"));
            }
        }
Beispiel #3
0
 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"));
     }
 }
Beispiel #4
0
        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));
        }
Beispiel #8
0
        //
        // 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"));
            }
        }
Beispiel #9
0
        /// <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);
        }
Beispiel #10
0
        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));
        }
Beispiel #11
0
        /// <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);
        }