Exemplo n.º 1
0
        public async Task <IActionResult> Editar(int id, [Bind("AsignaturasEstudiantesID,EstudiantesID,AsignaturasID")] AsignaturasEstudiantes asignaturasEstudiantes)
        {
            if (id != asignaturasEstudiantes.AsignaturasEstudiantesID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(asignaturasEstudiantes);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AsignaturasEstudiantesExists(asignaturasEstudiantes.AsignaturasEstudiantesID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(MenuAsignStudents)));
            }
            ViewData["AsignaturasID"] = new SelectList(_context.Asignaturas, "AsignaturasID", "Nombre", asignaturasEstudiantes.AsignaturasID);
            ViewData["EstudiantesID"] = new SelectList(_context.Estudiantes, "EstudiantesID", "Matricula", asignaturasEstudiantes.EstudiantesID);
            return(View(asignaturasEstudiantes));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> CrearAsignStudents([Bind("AsignaturasEstudiantesID,EstudiantesID,AsignaturasID")] AsignaturasEstudiantes asignaturasEstudiantes)
        {
            if (ModelState.IsValid)
            {
                _context.Add(asignaturasEstudiantes);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(MenuAsignStudents)));
            }
            ViewData["AsignaturasID"] = new SelectList(_context.Asignaturas, "AsignaturasID", "Nombre", asignaturasEstudiantes.AsignaturasID);
            ViewData["EstudiantesID"] = new SelectList(_context.Estudiantes, "EstudiantesID", "Matricula", asignaturasEstudiantes.EstudiantesID);
            return(View(asignaturasEstudiantes));
        }
        public async Task SaveData(List <StudentsView> source)
        {
            foreach (var info in source)
            {
                var grado = await _context.Grados
                            .FirstOrDefaultAsync(x => x.Nombre.ToLower() == info.Grado.ToLower());

                if (grado is null)
                {
                    grado = new Grados {
                        Nombre = info.Grado
                    };
                    await _context.Grados.AddAsync(grado);
                }

                var seccion = await _context.Secciones
                              .FirstOrDefaultAsync(x => x.Nombre.ToLower() == info.Seccion.ToLower());

                if (seccion is null)
                {
                    seccion = new Secciones {
                        Nombre = info.Seccion
                    };
                    await _context.Secciones.AddAsync(seccion);
                }

                var seccionGrado = await _context.SeccionesGrados
                                   .FirstOrDefaultAsync(x => x.GradoId == grado.Id && x.SeccionId == seccion.Id);

                if (seccionGrado is null)
                {
                    seccionGrado = new SeccionesGrados
                    {
                        Grado   = grado,
                        Seccion = seccion
                    };
                    await _context.SeccionesGrados.AddAsync(seccionGrado);
                }

                var sector = await _context.Sectores
                             .FirstOrDefaultAsync(x => x.Nombre.ToLower() == info.Sector.ToLower());

                if (sector is null)
                {
                    sector = new Sectores {
                        Nombre = info.Sector
                    };
                    await _context.Sectores.AddAsync(sector);
                }

                var provincia = await _context.Provincias
                                .FirstOrDefaultAsync(x => x.Nombre.ToLower() == info.Provincia.ToLower());

                if (provincia is null)
                {
                    provincia = new Provincias {
                        Nombre = info.Provincia
                    };
                    await _context.Provincias.AddAsync(provincia);
                }

                var tanda = await _context.Tandas
                            .FirstOrDefaultAsync(x => x.Nombre.ToLower() == info.Tanda.ToLower());

                if (tanda is null)
                {
                    tanda = new Tandas {
                        Nombre = info.Tanda
                    };
                    await _context.Tandas.AddAsync(tanda);
                }

                var escuela = await _context.Escuelas
                              .FirstOrDefaultAsync(x => x.Id == info.CodigoDelCentro);

                if (escuela is null)
                {
                    escuela = new Escuelas
                    {
                        Id        = info.CodigoDelCentro,
                        Nombre    = info.NombreDelCentro,
                        Sector    = sector,
                        Provincia = provincia
                    };
                    await _context.Escuelas.AddAsync(escuela);
                }

                var estudiante = await _context.Estudiantes
                                 .FirstOrDefaultAsync(x => x.Matricula == info.Matricula);

                if (estudiante is null)
                {
                    estudiante = new Estudiantes
                    {
                        Matricula    = info.Matricula ?? 0,
                        Nombre       = info.NombreDelEstudiante,
                        Escuela      = escuela,
                        SeccionGrado = seccionGrado
                    };
                    await _context.Estudiantes.AddAsync(estudiante);
                }

                var asignatura = await _context.Asignaturas
                                 .FirstOrDefaultAsync(x => x.Nombre.ToLower().ToLower() == info.Asignatura.ToLower());

                if (asignatura is null)
                {
                    asignatura = new Asignaturas
                    {
                        Nombre = info.Asignatura,
                        Tanda  = tanda
                    };
                    await _context.Asignaturas.AddAsync(asignatura);
                }

                var asignatura_estudiante = await _context.AsignaturasEstudiantes
                                            .FirstOrDefaultAsync(x => x.EstudianteId == estudiante.Matricula &&
                                                                 x.AsignaturaId == asignatura.Id);

                if (asignatura_estudiante is null)
                {
                    asignatura_estudiante = new AsignaturasEstudiantes
                    {
                        Estudiante         = estudiante,
                        Asignatura         = asignatura,
                        Calificacion       = info.Calificacion ?? 0,
                        CondicionAcademica = info.CondicionAcademica
                    };
                    await _context.AsignaturasEstudiantes.AddAsync(asignatura_estudiante);
                }
            }

            await _context.SaveChangesAsync();
        }