public async Task <IActionResult> Crear([FromBody] PensumCurso model)
        {
            if (!(await esAdmin()))
            {
                return(Forbid());
            }

            try
            {
                await _context.PensumCursos.AddAsync(model);

                await _context.SaveChangesAsync();

                return(Ok(new
                {
                    status = 200,
                    message = "Relacion Pensum-Curso guardada"
                }));
            } catch (DbUpdateException ex)
            {
                string          error  = ex.InnerException.Message;
                MatchCollection groups = DUP_KEY_ERROR_REGEX.Matches(error);

                if (groups.Count > 0)
                {
                    var match = groups[0];
                    if (string.Compare(match.Groups[1].Value, "PRIMARY") == 0)
                    {
                        error = "Datos duplicados";
                    }
                }
                return(BadRequest(new
                {
                    status = 400,
                    message = "No se guardó la relación Pensum-Curso",
                    error
                }));
            }
        }
Пример #2
0
        // metodo para guardar algunos datos
        private static async Task InitData(ApplicationDbContext db)
        {
            if (0 < await db.Carreras.CountAsync())
            {
                return;
            }

            var sistemas = new Carrera(1490, "INGENIERIA EN SISTEMAS");
            await db.Carreras.AddAsync(sistemas);

            var pensum2014 = new Pensum(2014, sistemas);
            await db.Pensums.AddAsync(pensum2014);

            await db.SaveChangesAsync();

            var pensumCursos = new PensumCurso[]
            {
                new PensumCurso(1, 4, pensum2014, new Curso(1, "DESARROLLO HUMANO Y PROFESIONAL", sistemas)),
                new PensumCurso(1, 5, pensum2014, new Curso(2, "METODOLOGIA DE LA INVESTIGACION", sistemas)),
                new PensumCurso(1, 5, pensum2014, new Curso(3, "CONTABILIDAD I", sistemas)),
                new PensumCurso(1, 5, pensum2014, new Curso(4, "INTRODUCCION A LOS SISTEMAS DE COMPUTO", sistemas)),
                new PensumCurso(1, 5, pensum2014, new Curso(5, "LOGICA DE SISTEMAS", sistemas)),

                new PensumCurso(2, 5, pensum2014, new Curso(6, "PRECALCULO", sistemas)),
                new PensumCurso(2, 5, pensum2014, new Curso(7, "ALGEBRA LINEAL", sistemas)),
                new PensumCurso(2, 5, pensum2014, new Curso(8, "ALGORITMOS", sistemas)),
                new PensumCurso(2, 5, pensum2014, new Curso(9, "CONTABILIDAD II", sistemas)),
                new PensumCurso(2, 5, pensum2014, new Curso(10, "MATEMATICA DISCRETA", sistemas)),

                new PensumCurso(3, 5, pensum2014, new Curso(11, "FISICA I", sistemas)),
                new PensumCurso(3, 5, pensum2014, new Curso(12, "PROGRAMACION I", sistemas)),
                new PensumCurso(3, 5, pensum2014, new Curso(13, "CALCULO I", sistemas)),
                new PensumCurso(3, 4, pensum2014, new Curso(14, "PROCESO ADMINISTRATIVO", sistemas)),
                new PensumCurso(3, 5, pensum2014, new Curso(15, "DERECHO INFORMATICO", sistemas)),

                new PensumCurso(4, 5, pensum2014, new Curso(16, "MICROECONOMIA", sistemas)),
                new PensumCurso(4, 5, pensum2014, new Curso(17, "PROGRAMACION II", sistemas)),
                new PensumCurso(4, 5, pensum2014, new Curso(18, "CALCULO II", sistemas)),
                new PensumCurso(4, 5, pensum2014, new Curso(19, "ESTADISTICA I", sistemas)),
                new PensumCurso(4, 5, pensum2014, new Curso(20, "FISICA II", sistemas)),

                new PensumCurso(5, 5, pensum2014, new Curso(21, "METODOS NUMERICOS", sistemas)),
                new PensumCurso(5, 5, pensum2014, new Curso(22, "PROGRAMACION III", sistemas)),
                new PensumCurso(5, 5, pensum2014, new Curso(23, "EMPRENDEDORES DE NEGOCIOS", sistemas)),
                new PensumCurso(5, 5, pensum2014, new Curso(24, "ELECTRONICA ANALOGICA", sistemas)),
                new PensumCurso(5, 5, pensum2014, new Curso(25, "ESTADISTICA II", sistemas)),

                new PensumCurso(6, 5, pensum2014, new Curso(26, "INVESTIGACION DE OPERACIONES", sistemas)),
                new PensumCurso(6, 5, pensum2014, new Curso(27, "BASES DE DATOS I", sistemas)),
                new PensumCurso(6, 5, pensum2014, new Curso(28, "AUTOMATAS Y LENGUAJES FORMALES", sistemas)),
                new PensumCurso(6, 5, pensum2014, new Curso(29, "SISTEMAS OPERATIVOS I", sistemas)),
                new PensumCurso(6, 5, pensum2014, new Curso(30, "ELECTRONICA DIGITAL", sistemas)),

                new PensumCurso(7, 5, pensum2014, new Curso(31, "BASES DE DATOS II", sistemas)),
                new PensumCurso(7, 5, pensum2014, new Curso(32, "ANALISIS DE SISTEMAS I", sistemas)),
                new PensumCurso(7, 5, pensum2014, new Curso(33, "SISTEMAS OPERATIVOS II", sistemas)),
                new PensumCurso(7, 5, pensum2014, new Curso(34, "ARQUITECTURA DE COMPUTADORAS I", sistemas)),
                new PensumCurso(7, 5, pensum2014, new Curso(35, "COMPILADORES", sistemas)),

                new PensumCurso(8, 5, pensum2014, new Curso(36, "DESARROLLO WEB", sistemas)),
                new PensumCurso(8, 5, pensum2014, new Curso(37, "ANALISIS DE SISTEMAS II", sistemas)),
                new PensumCurso(8, 5, pensum2014, new Curso(38, "REDES DE COMPUTADORAS I", sistemas)),
                new PensumCurso(8, 4, pensum2014, new Curso(39, "ETICA PROFESIONAL", sistemas)),
                new PensumCurso(8, 5, pensum2014, new Curso(40, "ARQUITECTURA DE COMPUTADORAS II", sistemas)),

                new PensumCurso(9, 5, pensum2014, new Curso(41, "ADMINISTRACION DE TECNOLOGIAS DE INFORMACION", sistemas)),
                new PensumCurso(9, 5, pensum2014, new Curso(42, "INGENIERIA DE SOFTWARE", sistemas)),
                new PensumCurso(9, 6, pensum2014, new Curso(43, "PROYECTO DE GRADUACION I", sistemas)),
                new PensumCurso(9, 5, pensum2014, new Curso(44, "REDES DE COMPUTADORAS II", sistemas)),
                new PensumCurso(9, 5, pensum2014, new Curso(45, "INTELIGENCIA ARTIFICIAL", sistemas)),

                new PensumCurso(10, 5, pensum2014, new Curso(46, "TELECOMUNICACIONES", sistemas)),
                new PensumCurso(10, 6, pensum2014, new Curso(47, "SEMINARIOS DE TECNOLOGIAS DE INFORMACION", sistemas)),
                new PensumCurso(10, 5, pensum2014, new Curso(48, "ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE", sistemas)),
                new PensumCurso(10, 6, pensum2014, new Curso(49, "PROYECTO DE GRADUACION II", sistemas)),
                new PensumCurso(10, 5, pensum2014, new Curso(50, "SEGURIDAD Y AUDITORIA DE SISTEMAS", sistemas)),
            };

            foreach (var pc in pensumCursos)
            {
                db.Cursos.Add(pc.Curso);
                db.PensumCursos.Add(pc);
            }

            await db.SaveChangesAsync();
        }