예제 #1
0
        public static void cerrarCursos()
        {
            bd_simaEntitie db    = new bd_simaEntitie();
            var            query = from c in db.cursos
                                   where (c.estado == 1)
                                   select c;

            foreach (cursos cur in query)
            {
                if (DateTime.Compare(DateTime.Now, cur.fecha_finalizacion) > 0 || cur.eliminado == 1)
                {
                    cur.estado = 0;
                }
            }
            db.SaveChanges();
        }
예제 #2
0
        public static void cerrarTest()
        {
            bd_simaEntitie db    = new bd_simaEntitie();
            var            query = from c in db.Test
                                   where (c.estado_cierre == 0)
                                   select c;

            foreach (Test t in query)
            {
                if (DateTime.Compare(DateTime.Now, t.fecha_fin) > 0 || t.eliminado == 1)
                {
                    t.estado_cierre = 1;
                }
            }
            db.SaveChanges();
        }
예제 #3
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"));
            }
        }
예제 #4
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));
        }