示例#1
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"));
            }
        }
示例#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"));
            }
        }
示例#3
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"));
        }
示例#4
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));
        }
示例#5
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"));
            }
        }