[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 } }
[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)); } }
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)); } }
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)); } }
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)); } }
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)); } }
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); } }
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)); } }
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)); } }
[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)); }
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 } }
[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 } }