コード例 #1
0
        [HttpPost("AgregarNotas_Estudiantes")] //Metodo Para Agregar Nota
        public async Task <ActionResult <int> > AgregarNota(AgregarNota dato)
        {
            //Busca el detalle Matricula del estudiante matriculado
            var DetalleMatricula = _context.Detallematricula.Where(x => x.AsignaturasId == dato.IdAsigntura && x.MatriculasId == dato.IdMatricula).FirstOrDefault();

            //Verifica si existe ya una Nota en esa Matricula
            var Existe = _context.Notas.Where(X => X.DetalleMatriculaId == DetalleMatricula.Id && X.DetalleNotaId == dato.IdDetalle).FirstOrDefault();

            if (Existe == null) //Si no existe agrega
            {                   //Agregar Nota
                Notas Nota = new Notas();

                Nota.Nota               = dato.Nota;
                Nota.DetalleNotaId      = dato.IdDetalle;
                Nota.DetalleMatriculaId = DetalleMatricula.Id;
                _context.Add(Nota);
                await _context.SaveChangesAsync();

                return(1);
            }
            else // si existe Actualiza
            {
                Existe.Nota = dato.Nota;
                _context.Update(Existe);
                await _context.SaveChangesAsync();

                return(2); //Si retorna 2 es porque actualizo la nota
            }
        }
コード例 #2
0
        [HttpPost] //Metodo Para Matricular un Estudiante
        public async Task <IActionResult> Agregar(int OfertasId, int TurnoId, int SituacionMatriculaId, int EstudiantesId, int[] AsignaturasId)
        {
            //Verifica si no posee ya una matricula
            var Verifica = _context.Matriculas.Where(x => x.EstudiantesId == EstudiantesId && x.Fecha.Year == DateTime.Today.Year).FirstOrDefault();

            if (Verifica == null)
            {
                Matriculas matriculas = new Matriculas();
                matriculas.EstudiantesId        = EstudiantesId;
                matriculas.Fecha                = DateTime.Today;
                matriculas.OfertasId            = OfertasId;
                matriculas.TurnoId              = TurnoId;
                matriculas.SituacionMatriculaId = SituacionMatriculaId;

                _context.Add(matriculas);
                await _context.SaveChangesAsync();

                Detallematricula Detalle;
                for (int i = 0; i < AsignaturasId.Length; i++)
                {
                    Detalle = new Detallematricula();
                    Detalle.AsignaturasId = AsignaturasId[i];
                    Detalle.MatriculasId  = matriculas.Id;

                    _context.Add(Detalle);
                    await _context.SaveChangesAsync();
                }
                return(Json(1));
            }
            else
            {
                return(Json(Verifica));
            }
        }
コード例 #3
0
        public async Task <IActionResult> Agregar(string Descripcion, DateTime FechaOferta, int SeccionesId, int GradoAcademicoId, int GruposId, int DocentesId, int Idinstitucion) //metodo para cargar ofertas en select matricula
        {
            //Verifica que no exista una oferta ingresada con los mismos datos
            var datos = db.Ofertas.Where(x => x.GradoAcademicoId == GradoAcademicoId && x.GruposId == GruposId && x.FechaOferta.Year == DateTime.Today.Year).FirstOrDefault();

            if (datos != null)
            {
                return(Json(0));
            }
            else
            {
                Ofertas ofertas = new Ofertas();
                ofertas.Descripcion      = Descripcion;
                ofertas.FechaOferta      = FechaOferta;
                ofertas.SeccionesId      = SeccionesId;
                ofertas.GradoAcademicoId = GradoAcademicoId;
                ofertas.GruposId         = GruposId;
                ofertas.DocentesId       = DocentesId;
                //Guarda Datos en tabla oferta
                db.Add(ofertas);
                await db.SaveChangesAsync();

                Detalleofertasinstitucion detalleofertasinstitucion = new Detalleofertasinstitucion();
                detalleofertasinstitucion.IdInstitucion = Idinstitucion;
                detalleofertasinstitucion.IdOferta      = ofertas.Id;
                //Guarda Datos en tabla Detalle oferta Institucion
                db.Add(detalleofertasinstitucion);
                await db.SaveChangesAsync();


                var data = (from item in db.Detalleofertasinstitucion
                            join item2 in db.Ofertas on item.IdOferta equals item2.Id
                            join item3 in db.Grupos on item2.GruposId equals item3.Id
                            join item4 in db.Gradoacademico on item2.GradoAcademicoId equals item4.Id
                            join item5 in db.Secciones on item2.SeccionesId equals item5.Id
                            join item6 in db.Docentes on item2.DocentesId equals item6.Id
                            join item7 in db.Personas on item6.PersonasId equals item7.Id
                            where item2.Id == ofertas.Id
                            select new
                {
                    idoferta = item2.Id,
                    Descripcion = item2.Descripcion,
                    Fecha = item2.FechaOferta.Year,
                    Docente = item7.Nombre + " " + item7.Apellido1 + " " + item7.Apellido2,
                    Grado = item4.Grado,
                    Grupo = item3.Grupo,
                    Seccion = item5.Codigo
                }).ToList();

                return(Json(data));
            }
        }
コード例 #4
0
        public async Task <ActionResult> AgregarEstudianteAsync(string CodigoEstudiante, string Nombre, string Apellido1, string Apellido2, string Sexo, string Direccion, int Telefono, DateTime FechaNacimiento, int IdInstitucion, int TutorId, int ParentescosId) //metodo para cargar datos de estudiantes DETALLES
        {
            var persona    = new Personas();
            var estudiante = new Estudiantes();

            //Verificamos que no exista ningun estudiante con el mismo codigo
            var verificar = db.Estudiantes.Where(x => x.CodigoEstudiante == CodigoEstudiante).FirstOrDefault();

            if (verificar == null)
            {
                persona.Nombre          = Nombre;
                persona.Apellido1       = Apellido1;
                persona.Apellido2       = Apellido2;
                persona.Direccion       = Direccion;
                persona.FechaNacimiento = FechaNacimiento;
                persona.Sexo            = Sexo;
                persona.IdInstitucion   = IdInstitucion;
                persona.Telefono        = Telefono;

                db.Add(persona);
                await db.SaveChangesAsync();

                estudiante.CodigoEstudiante = CodigoEstudiante;
                estudiante.ParentescosId    = ParentescosId;
                estudiante.TutorId          = TutorId;
                estudiante.PersonasId       = persona.Id;

                db.Add(estudiante);
                await db.SaveChangesAsync();

                //Buscamos el Telefono del Tutor
                var tutor = (from item in db.Personas
                             join item2 in db.Tutores on item.Id equals item2.PersonasId
                             where item2.Id == TutorId
                             select new
                {
                    Telefono = item.Telefono
                }
                             ).FirstOrDefault();

                int[] Datos = { tutor.Telefono, estudiante.Id };

                return(Json(Datos));
            }
            else //Si el estudiante Ya existe
            {
                return(Json(-1));
            }
        }
コード例 #5
0
        public async Task <IActionResult> Crear(string Nombre, int idinstitucion)//Metodo para crear una asignatura
        {
            var data = (from item in _context.Detalleasignaturasinstitucion
                        join item2 in _context.Asignaturas on item.IdAsignatura equals item2.Id
                        where item.IdInstitucion == idinstitucion && item2.Nombre == Nombre
                        select new
            {
                id = item2.Id,
                nombre = item2.Nombre
            }).Count();

            if (data == 0)
            {     //agrega asignaturas
                Asignaturas asignaturas = new Asignaturas();
                asignaturas.Nombre = Nombre;
                _context.Add(asignaturas);
                await _context.SaveChangesAsync();


                Detalleasignaturasinstitucion detalleasignaturasinstitucion = new Detalleasignaturasinstitucion();
                detalleasignaturasinstitucion.IdAsignatura  = asignaturas.Id;
                detalleasignaturasinstitucion.IdInstitucion = idinstitucion;
                _context.Add(detalleasignaturasinstitucion);
                await _context.SaveChangesAsync();


                var materia = new[]
                {
                    new {
                        Nombre = Nombre,
                        id     = asignaturas.Id,
                        tipo   = 1
                    }
                };
                return(Json(materia));
            }
            else
            {
                var error = new[]
                {
                    new {
                        Nombre = "La asignatura ya existe",
                        tipo   = -1
                    }
                };
                return(Json(error));
            }
        }
コード例 #6
0
        public async Task <IActionResult> AgregarAsistencia(int [] idMatricula, int [] asistencia)
        {
            var p = 0;
            //verifica que no exista no se repita una asistencia en esa fecha
            var verificar = (from item in db.Matriculas
                             join item2 in db.Asistencia on item.Id equals item2.IdMatricula
                             where item2.IdMatricula == idMatricula[0] && item2.Fecha.Date == DateTime.Today.Date
                             select new
            {
                id = item2.IdMatricula
            }).Count();

            if (verificar != 0)
            {
                return(Json(0));
            }
            else
            {
                var        fecha = DateTime.Today.Date;
                Asistencia Asistencias;
                for (int i = 0; i < idMatricula.Count(); i++)
                {
                    Asistencias             = new Asistencia();
                    Asistencias.Estado      = (ulong)asistencia[i];
                    Asistencias.Fecha       = fecha;
                    Asistencias.IdMatricula = idMatricula[i];
                    db.Add(Asistencias);
                    await db.SaveChangesAsync();
                }
                return(Json(1));
            }
        }
コード例 #7
0
        public async Task <ActionResult <int> > Agregar_Asistencia(List <Asistencia> dato)
        {
            //verifica que no exista no se repita una asistencia en esa fecha
            var verificar = (from item in _context.Matriculas
                             join item2 in _context.Asistencia on item.Id equals item2.IdMatricula
                             where item2.IdMatricula == dato.ElementAt(0).IdMatricula&& item2.Fecha.Date == dato.ElementAt(0).Fecha.Date
                             select new
            {
                id = item2.IdMatricula
            }).Count();

            if (verificar != 0)
            {
                return(0);
            }
            else
            {
                for (int i = 0; i < dato.Count(); i++)
                {
                    _context.Add(dato[i]);
                    await _context.SaveChangesAsync();
                }
                return(1);
            }
        }
コード例 #8
0
        public IActionResult Crear([Bind("Id,Gradoid,Asignaturaid")] Gradoasignaturas gradoaasignaturas) //guarda una materia con un determinado grado
        {
            //verifica que no exista la asignatura en ese grado
            var datos = _context.Gradoasignaturas.Where(x => x.AsignaturasId == gradoaasignaturas.AsignaturasId && x.GradoAcademicoId == gradoaasignaturas.GradoAcademicoId).FirstOrDefault();

            if (datos == null) //si no existe guarda
            {
                _context.Add(gradoaasignaturas);
                _context.SaveChangesAsync();
                return(Json(1));
            }
            else
            {
                return(Json(-1));
            }
        }
コード例 #9
0
        public async Task <ActionResult> AgregarTutor(string Cedula, string Nombre, string Apellido1, string Apellido2, string Sexo, string Direccion, string Correo, int Telefono, DateTime FechaNacimiento, int IdInstitucion, int OficiosId)
        {
            var persona = new Personas();
            var tutor   = new Tutores();

            var verifica = _context.Personas.Where(x => x.Cedula == Cedula && x.IdInstitucion == IdInstitucion).FirstOrDefault();

            if (verifica == null)
            {
                persona.Cedula          = Cedula;
                persona.Nombre          = Nombre;
                persona.Apellido1       = Apellido1;
                persona.Apellido2       = Apellido2;
                persona.Correo          = Correo;
                persona.Telefono        = Telefono;
                persona.Sexo            = Sexo;
                persona.IdInstitucion   = IdInstitucion;
                persona.Direccion       = Direccion;
                persona.FechaNacimiento = FechaNacimiento;

                //Guarda en persona
                _context.Add(persona);
                await _context.SaveChangesAsync();


                tutor.OficiosId  = OficiosId;
                tutor.PersonasId = persona.Id;

                //Guarda en tutor
                _context.Add(tutor);
                await _context.SaveChangesAsync();

                return(Json(tutor.Id));
            }
            else
            {
                return(Json(0));
            }
        }
コード例 #10
0
        [HttpPost] //metodo para Agregar una institucion
        public async Task <ActionResult> Registro([Bind("Institucion,Direcccion,Usuario,Contraseña")] UsuarioInstitucion usuar)
        {
            var inst = _context.Institucion.Where(x => x.Nombre == usuar.Institucion).FirstOrDefault();        //verifica si existe una institucion
            var user = _context.UsuariosInstituciones.Where(x => x.Usuario == usuar.Usuario).FirstOrDefault(); //verifica si existe una institucion

            if (inst == null && user == null)
            {     //agrega asignaturas
                Institucion institucion = new Institucion();
                institucion.Nombre    = usuar.Institucion;
                institucion.Direccion = usuar.Direcccion;
                _context.Add(institucion);
                await _context.SaveChangesAsync();

                Usuariosinstituciones usarios_Institucion = new Usuariosinstituciones();
                usarios_Institucion.Usuario       = usuar.Usuario;
                usarios_Institucion.Contraseña    = usuar.Contraseña;
                usarios_Institucion.IdInstitucion = institucion.Id;
                _context.Add(usarios_Institucion);
                await _context.SaveChangesAsync();

                return(Json(institucion.Id));
            }
            return(Json(-1));
        }
コード例 #11
0
        public async Task <IActionResult> Mostrar_Notas(int año, int idgrado, int idgrupo, int id_detalle_Nota, int id_materia, int idInstitucion)
        {
            //Buscamos la oferta
            var oferta = _context.Ofertas.Where(x => x.FechaOferta.Year == año && x.GradoAcademicoId == idgrado && x.GruposId == idgrupo).FirstOrDefault();

            if (oferta != null)
            {
                //Lista de estudiantes que tienen Notas
                var Notas = (from item3 in _context.Matriculas.ToList()
                             join item4 in _context.Estudiantes.ToList() on item3.EstudiantesId equals item4.Id
                             join item6 in _context.Detallematricula.ToList() on item3.Id equals item6.MatriculasId
                             join item7 in _context.Notas.ToList() on item6.Id equals item7.DetalleMatriculaId
                             join item8 in _context.Detallenota.ToList() on item7.DetalleNotaId equals item8.Id
                             join item11 in _context.Asignaturas.ToList() on item6.AsignaturasId equals item11.Id
                             where item3.OfertasId == oferta.Id && item8.Id == id_detalle_Nota && item11.Id == id_materia
                             select new
                {
                    id = item6.Id
                });


                //Lista de estudiantes que NO tienen Notas
                var SinNotas = (from item3 in _context.Estudiantes.ToList()
                                join item4 in _context.Matriculas.ToList() on item3.Id equals item4.EstudiantesId
                                join item5 in _context.Detallematricula.Where(x => !Notas.Select(l => l.id).Contains(x.Id)).ToList() on item4.Id equals item5.MatriculasId
                                join item6 in _context.Asignaturas.ToList() on item5.AsignaturasId equals item6.Id
                                join item7 in _context.Ofertas.ToList() on item4.OfertasId equals item7.Id
                                where item7.Id == oferta.Id && item6.Id == id_materia
                                select new
                {
                    id = item5.Id
                });


                Notas Nota;
                //Recorremos la lista de los id detalles y ingresamos notas (0)
                for (int i = 0; i < SinNotas.Count(); i++)
                {
                    Nota = new Notas();
                    Nota.DetalleNotaId      = id_detalle_Nota;
                    Nota.DetalleMatriculaId = SinNotas.ElementAt(i).id;
                    Nota.Nota = 0;
                    _context.Add(Nota);
                    await _context.SaveChangesAsync();
                }

                //Hacemos nuevamente la consulta para ver Notas
                var DatosNotas = (from item in _context.Detalleofertasinstitucion.ToList()
                                  join item2 in _context.Ofertas.ToList() on item.IdOferta equals item2.Id
                                  join item3 in _context.Matriculas.ToList() on item2.Id equals item3.OfertasId
                                  join item4 in _context.Estudiantes.ToList() on item3.EstudiantesId equals item4.Id
                                  join item5 in _context.Personas.ToList() on item4.PersonasId equals item5.Id
                                  join item6 in _context.Detallematricula.ToList() on item3.Id equals item6.MatriculasId
                                  join item7 in _context.Notas.ToList() on item6.Id equals item7.DetalleMatriculaId
                                  join item8 in _context.Detallenota.ToList() on item7.DetalleNotaId equals item8.Id
                                  join item9 in _context.Gradoacademico.ToList() on item2.GradoAcademicoId equals item9.Id
                                  join item10 in _context.Grupos.ToList() on item2.GruposId equals item10.Id
                                  join item11 in _context.Asignaturas.ToList() on item6.AsignaturasId equals item11.Id
                                  where item.IdInstitucion == idInstitucion && item2.GradoAcademicoId == idgrado && item2.GruposId == idgrupo &&
                                  item7.DetalleNotaId == id_detalle_Nota && item6.AsignaturasId == id_materia && item3.Fecha.Year == año
                                  select new
                {
                    id = item7.Id,
                    CodigoEstudiante = item4.CodigoEstudiante,
                    Nombre = item5.Nombre + " " + item5.Apellido1 + " " + item5.Apellido2,
                    Sexo = item5.Sexo,
                    Grado = item9.Grado,
                    Grupo = item10.Grupo,
                    asignatura = item11.Nombre,
                    Nota = item7.Nota
                });

                return(Json(DatosNotas));//Retornamos los datos de la consulta
            }
            else
            {
                return(Json(-1)); //Si no existe ninguna oferta con los datos proporsionados
            }
        }
コード例 #12
0
        [HttpPost("usuarios/AgregarDocente")] //metodo para Agregar un usuario docente
        public async Task <usuariosWS> Registro_Usuario_Docente(Usuarios docent)
        {
            usuariosWS r;
            userview   data = (from item in _context.Personas //verifica si la cedula ingresada pertenece a un docente de ka institucion
                               join item2 in _context.Docentes on item.Id equals item2.PersonasId
                               join item3 in _context.Institucion on item.IdInstitucion equals item3.Id
                               where item.Cedula == docent.Cedula && item.IdInstitucion == docent.IdInstitucion
                               select new userview
            {
                username = item.Nombre + " " + item.Apellido1 + item.Apellido2,
                password = item3.Nombre
            }).FirstOrDefault();

            if (data != null)
            {
                var user = _context.Usuarios.Where(x => x.Usuario == docent.Usuario && x.IdInstitucion == docent.IdInstitucion).FirstOrDefault(); //verifica si el nombre de usuario existe en la institucion

                if (user == null)
                {     //agrega asignaturas
                    Usuarios usuarios = new Usuarios();

                    usuarios.Cedula        = docent.Cedula;
                    usuarios.Usuario       = docent.Usuario;
                    usuarios.Contraseña    = docent.Contraseña;
                    usuarios.IdInstitucion = docent.IdInstitucion;
                    _context.Add(usuarios);
                    await _context.SaveChangesAsync();

                    r = new usuariosWS
                    {
                        Id              = usuarios.Id,
                        Nombre          = data.username,
                        NombreDeUsuario = usuarios.Usuario,
                        tipo            = 2,
                        Cedula          = usuarios.Cedula,
                        Institucion     = data.password
                    };
                    return(r);
                }
                else
                {
                    r = new usuariosWS
                    {
                        Id              = -1,
                        Nombre          = "Ya existe",
                        NombreDeUsuario = "Ya existe",
                        tipo            = -1,
                        Cedula          = "Ya existe",
                        Institucion     = "Ya existe"
                    };
                    return(r);// error el usuario que ingreso ya existe en esta institucion
                }
            }
            else
            {
                r = new usuariosWS
                {
                    Id              = 0,
                    Nombre          = "No pertenece",
                    NombreDeUsuario = "No pertenece",
                    tipo            = 0,
                    Cedula          = "No pertenece",
                    Institucion     = "No pertenece"
                };
                return(r); //si retorna 0 es porque el numero de cedula no pertene a un docente de la institucion
            }
        }