コード例 #1
0
        //
        // 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()));
        }
コード例 #2
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"));
     }
 }
コード例 #3
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"));
            }
        }
コード例 #4
0
        //public ActionResult Avance(String materia = "", String periodoBuscar = "2017-2", String idMonitor = "")
        //{
        //    String periodo = MConfiguracionApp.getPeridoActual(db);
        //    if (sesion.esAdministrador(db))
        //    {
        //        if (idMonitor.Equals("")) materia = "";
        //        Mclase auxClase = new Mclase();
        //        ViewBag.materiaSeleccionada = materia;
        //        ViewBag.periodoSeleccionada = periodoBuscar;
        //        ViewBag.idMonitorSeleccionado = idMonitor;
        //        ViewBag.periodos = auxClase.getPeriodosRegistradosDeClase(db);
        //        ViewBag.datosMoniotres = new MUsuario().getDatosMonitoresPeriodo(periodoBuscar);

        //        ViewBag.materiasMonitor = new MCurso().getNombreMateriaMonitorCursos( idMonitor, periodo, 1);

        //        ViewBag.peridoSeleccionado = periodoBuscar;
        //        ViewBag.monitorSeleccionado = idMonitor;

        //        return View(auxClase.getClasesMonitorPerido(db, periodo, idMonitor, materia));
        //    }
        //    else
        //    {
        //        return Redirect("~/Inicio/Login");
        //    }
        //}

        public ActionResult Registros(String materia = "", String periodoBuscar = "-", String idMonitor = "")
        {
            if (periodoBuscar.Equals("-"))
            {
                periodoBuscar = MConfiguracionApp.getPeridoActual(db);
            }
            if (sesion.esAdministrador(db))
            {
                if (materia.Equals(""))
                {
                    idMonitor = "";
                }
                Mclase auxClase = new Mclase();
                ViewBag.materiaSeleccionada   = materia;
                ViewBag.periodoSeleccionada   = periodoBuscar;
                ViewBag.idMonitorSeleccionado = idMonitor;
                ViewBag.periodos       = auxClase.getPeriodosRegistradosDeClase(db);
                ViewBag.datosMoniotres = new MUsuario().getMonitores_de_materia(materia, periodoBuscar);
                var materias = new MMateria().getMaterias_registro_grupos(db, periodoBuscar);

                ViewBag.materias = materias;

                //= new MCurso().getNombreMateriaMonitorCursos(idMonitor, periodoBuscar,1);

                ViewBag.peridoSeleccionado  = periodoBuscar;
                ViewBag.monitorSeleccionado = idMonitor;

                return(View(auxClase.getClasesMonitorPerido(db, periodoBuscar, idMonitor, materia)));
            }
            else
            {
                return(Redirect("~/Inicio/Login"));
            }
        }
コード例 #5
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"));
        }
コード例 #6
0
        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));
        }
コード例 #7
0
        //
        // 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"));
            }
        }
コード例 #8
0
        //
        // GET: /Clase/

        public ActionResult Index(String materia = "")
        {
            String periodo = MConfiguracionApp.getPeridoActual(db);

            if (sesion.esMonitor(db))
            {
                ViewBag.materiaSeleccionada = materia;
                // var clases_sima = db.clases_sima.Include(c => c.cursos).Include(c => c.usuarios);
                ViewBag.materiasMonitor = new MCurso().getNombreMateriaMonitorCursos(sesion.getIdUsuario(), periodo, 0);
                return(View(new Mclase().getClasesMonitorPerido(db, periodo, sesion.getIdUsuario(), materia)));
            }
            else
            {
                return(Redirect("~/Inicio/Login"));
            }
        }
コード例 #9
0
        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));
        }
コード例 #10
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"));
            }
        }
コード例 #11
0
        public ActionResult Test_monitor()
        {
            if (sesion.esMonitor(db))
            {
                List <MTest>  tests  = new List <MTest>();
                List <MCurso> cursos = new  MCurso().getCursoAcargoActivos(MConfiguracionApp.getPeridoActual(db), sesion.getIdUsuario());

                tests = tests.Union((new MTest().getTestPeriodo("", 0, 0))).ToList();
                tests = tests.Union((new MTest().getTestPeriodo("", 1, 0))).ToList();
                tests = (from t in tests where (DateTime.Compare(DateTime.Now, t.fecha_inicio) >= 0 && t.periodo == MConfiguracionApp.getPeridoActual(db)) select t).ToList();



                ViewBag.cursos = cursos;
                return(View(tests));
            }
            else
            {
                return(Redirect("~/Inicio/Login"));
            }
        }
コード例 #12
0
        public ActionResult Listar_test(String periodo = "")
        {
            if (sesion.esAdministrador(db))
            {
                List <MTest> tests = new List <MTest>();
                if (periodo.Equals("-1"))
                {
                    tests = (new MTest().getTestPeriodo("", 0, 0));// se consultan los tests abiertos
                }
                else
                {
                    if (periodo.Equals(""))
                    {
                        periodo = MConfiguracionApp.getPeridoActual(db);
                    }
                    tests = (new MTest().getTestPeriodo(periodo, 1, 0));
                }

                return(View("Listar_test", tests));
            }
            return(null);
        }
コード例 #13
0
        public JsonResult Create(MCurso curso)
        {
            String    periodo   = MConfiguracionApp.getPeridoActual(db);
            Respuesta respuesta = new Respuesta();

            if (sesion.esAdministrador(db))
            {
                if (ModelState.IsValid)
                {
                    materias materia    = db.materias.Find(curso.nombre_materia);
                    MUsuario usuario    = new MUsuario().getUsuarioId(curso.idUsuario);
                    bool     tieneCurso = curso.tieneCurso(curso.idUsuario, curso.nombre_materia, periodo);
                    if (!tieneCurso)
                    {
                        if (materia != null)
                        {
                            if (usuario != null)
                            {
                                cursos cur = new cursos
                                {
                                    estado             = curso.estado,
                                    fecha_finalizacion = curso.fecha_finalizacion,
                                    idUsuario          = curso.idUsuario,
                                    nombre_materia     = curso.nombre_materia.ToUpper(),
                                    periodo            = periodo,
                                    eliminado          = 0
                                };
                                db.cursos.Add(cur);
                                db.SaveChanges();
                                respuesta.RESPUESTA = "OK";
                                respuesta.MENSAJE   = "Grupo guardado.";
                            }
                            else
                            {
                                respuesta.RESPUESTA = "ERROR";
                                respuesta.MENSAJE   = "Usuario " + curso.idUsuario + " no existe ";
                            }
                        }
                        else
                        {
                            respuesta.RESPUESTA = "ERROR";
                            respuesta.MENSAJE   = "La Asignatura '" + curso.nombre_materia + "' no existe";
                        }
                    }
                    else
                    {
                        respuesta.RESPUESTA = "ERROR";
                        respuesta.MENSAJE   = "Él Monitor " + curso.idUsuario + " tiene a cargo " + curso.nombre_materia + ".";
                    }
                }
                else
                {
                    respuesta.RESPUESTA = "ERROR";
                    respuesta.MENSAJE   = "Datos incorrecto.";
                }
            }
            else
            {
                respuesta.RESPUESTA = "LOGIN";
            }
            return(Json(respuesta));
        }
コード例 #14
0
        public ActionResult Create(Mclase clase, String[] asistentes = null)
        {
            String periodo = MConfiguracionApp.getPeridoActual(db);

            if (sesion.esMonitor(db))
            {
                try
                {
                    MCurso auxCurso = new MCurso();

                    if (ModelState.IsValid)
                    {
                        string ruta      = Server.MapPath(dir_clases);
                        String materia   = sesion.getMateria();
                        String idMonitor = sesion.getIdUsuario();
                        // se verifica que tenga la materia a cargo para evitar que se cambie el monbre de la materia en el select
                        var tienMateria = auxCurso.tieneCurso(idMonitor, materia, periodo);
                        if (tienMateria)
                        {
                            // se guardan los ficheros
                            String[] resultado = Archivo.subir(Request.Files, ruta);
                            // si se guarda el fichero en el servidor, se guarda el registro en la BD
                            if (resultado[0].Equals("ok"))
                            {
                                using (var transaccion = new TransactionScope())
                                {
                                    using (var contestTransaccion = new bd_simaEntitie())
                                    {
                                        // se obtien la fecha actual
                                        DateTime fechaRegistro = DateTime.Now;
                                        // se obtien el id del grupo a partir de la materia y el id del monitor  y perido
                                        int idCuro = auxCurso.getIdCurso(materia, periodo, idMonitor);
                                        if (idCuro != -1)
                                        {
                                            clases_sima clase_ = new clases_sima
                                            {
                                                comentario      = clase.comentario,
                                                fecha_realizada = clase.fecha_realizada,
                                                periodo         = periodo,
                                                tema            = clase.tema,
                                                evidencia       = resultado[1],
                                                cursos_id       = idCuro,
                                                usuarios_id     = idMonitor,
                                                fecha_registro  = fechaRegistro
                                            };
                                            contestTransaccion.clases_sima.Add(clase_);
                                            contestTransaccion.SaveChanges();

                                            // se agregan los estudiantes asistentes
                                            if (clase.guardarAsistentes(contestTransaccion, clase_, asistentes))
                                            {
                                                // si los asistentes se registras se guardan los cambisos en bd
                                                transaccion.Complete();
                                                sesion.setMateria("");
                                            }
                                            return(RedirectToAction("Index"));
                                        }
                                    }
                                }
                            }
                            else
                            {
                                ViewBag.mensajeError = resultado[1];
                            }
                        }
                        else
                        {
                            ViewBag.mensajeError = "Asignatura " + materia + " No valida";
                            sesion.setMateria("");
                        }
                    }
                    ViewBag.materiaSeleccionada = sesion.getMateria();
                    return(View(clase));
                }
                catch (Exception e)
                {
                    ViewBag.mensajeError = "Error!!. " + e.Message;
                }
                return(RedirectToAction("Index"));
            }
            else
            {
                return(Redirect("~/Inicio/Login"));
            }
        }
コード例 #15
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));
        }
コード例 #16
0
        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"));
            }
        }
コード例 #17
0
        public JsonResult Edit(MCurso curso)
        {
            String    periodo   = MConfiguracionApp.getPeridoActual(db);
            Respuesta respuesta = new Respuesta();

            if (sesion.esAdministrador(db))
            {
                try
                {
                    if (ModelState.IsValid)
                    {
                        String   materiaAntigua;
                        MMateria materia    = new MMateria().getMateriaId(db, curso.nombre_materia);
                        MUsuario usuario    = new MUsuario().getUsuarioId(curso.idUsuario);
                        bool     tieneCurso = curso.tieneCurso(curso.idUsuario, curso.nombre_materia, periodo);
                        MCurso   c          = curso.getCursoId(curso.id);
                        materiaAntigua = c.nombre_materia;

                        if (materiaAntigua.Equals(curso.nombre_materia) || !tieneCurso)
                        {
                            if (materia != null)
                            {
                                if (usuario != null)
                                {
                                    if (curso.actualizar(db, curso) > 0)
                                    {
                                        respuesta.RESPUESTA = "OK";
                                        respuesta.MENSAJE   = "Grupo actualizado.";
                                    }
                                    else
                                    {
                                        respuesta.RESPUESTA = "ERROR";
                                        respuesta.MENSAJE   = "Grupo no actualizado.";
                                    }
                                }
                                else
                                {
                                    respuesta.RESPUESTA = "ERROR";
                                    respuesta.MENSAJE   = "Usuario " + curso.idUsuario + " no existe ";
                                }
                            }

                            else
                            {
                                respuesta.RESPUESTA = "ERROR";
                                respuesta.MENSAJE   = "La Asignatura '" + curso.nombre_materia + "' no existe";
                            }
                        }

                        else
                        {
                            respuesta.RESPUESTA = "ERROR";
                            respuesta.MENSAJE   = "Él Monitor " + curso.idUsuario + " tiene a cargo " + curso.nombre_materia + ".";
                        }
                    }
                    else
                    {
                        respuesta.RESPUESTA = "ERROR";
                        respuesta.MENSAJE   = "Datos incorrectos.";
                    }
                }
                catch (Exception e)
                {
                    respuesta.RESPUESTA = "ERROR";
                    respuesta.MENSAJE   = "Error! " + e.Message + ".";
                }
            }
            else
            {
                respuesta.RESPUESTA = "LOGIN";
            }
            return(Json(respuesta));
        }
コード例 #18
0
        public JsonResult SetGrupos(String[] idGrupo = null)
        {
            String periodo   = MConfiguracionApp.getPeridoActual(db);
            String idMonitor = sesion.getIdUsuario();

            string[] carrera_idCurso;
            // se obtien el id del grupo a partir de la materia y el id del monitor  y perido
            int idCuro;

            bool      error     = false;
            Respuesta respuesta = new Respuesta();

            using (var transaccion = new TransactionScope())
            {
                using (var contestTransaccion = new bd_simaEntitie())
                {
                    try
                    {
                        if (idGrupo != null)
                        {
                            List <String> materias = new List <string>();


                            // Se seleccionan las asinaturas
                            String[] grupo;
                            foreach (String element in idGrupo)
                            {
                                grupo = element.Split('|');
                                materias.Add(grupo[2]);
                            }
                            materias = ((from d in materias select d).Distinct()).ToList();

                            //foreach (String materia in materias)
                            //{
                            //idCuro = MCurso.getIdCurso(db, materia, periodo, idMonitor);

                            //se consulta los grupos registradas de una asinatura y se leiminamos
                            List <grupos_acargo> consulta = (
                                from p in contestTransaccion.grupos_acargo
                                where p.idUsuario == idMonitor && p.periodo == periodo
                                select p
                                ).ToList();

                            foreach (grupos_acargo element in consulta)
                            {
                                contestTransaccion.grupos_acargo.Remove(element);
                                contestTransaccion.SaveChanges();
                            }
                            //}


                            foreach (String element in idGrupo)
                            {
                                carrera_idCurso = element.Split('|');
                                String materiatem = carrera_idCurso[2];
                                idCuro = new MCurso().getIdCurso(materiatem, periodo, idMonitor);

                                grupos_acargo gruposAcargos = new grupos_acargo();
                                gruposAcargos.idUsuario = idMonitor;
                                gruposAcargos.materia   = materiatem;
                                gruposAcargos.periodo   = periodo;
                                gruposAcargos.id_grupo  = carrera_idCurso[1];
                                gruposAcargos.programa  = carrera_idCurso[0];
                                gruposAcargos.id_curso  = idCuro;
                                contestTransaccion.grupos_acargo.Add(gruposAcargos);
                                contestTransaccion.SaveChanges();
                            }
                        }
                        else
                        {
                            error = true;
                            respuesta.RESPUESTA = "ERROR";
                            respuesta.MENSAJE   = "Debe seleccionar al menos un grupo.";
                        }
                    }
                    catch (Exception)
                    {
                        error = true;
                        respuesta.RESPUESTA = "ERROR";
                        respuesta.MENSAJE   = "No se pudo actualizar los grupos.";
                    }
                    if (!error)
                    {
                        transaccion.Complete();
                        respuesta.RESPUESTA = "OK";
                        respuesta.MENSAJE   = "Grupos actualizados.";
                    }
                }
            }
            return(Json(respuesta));
        }