예제 #1
0
        public ActionResult Edit(PensumEditModel modelPensum)
        {
            bool   updateCourse = false;
            bool   updateGrade  = false;
            Pensum myPensum     = _pensumRepository.GetById(modelPensum.Id);

            if (myPensum.Grade.Id != modelPensum.IdGrade)
            {
                myPensum.Grade = _gradeRepository.GetById(modelPensum.IdGrade);
                updateGrade    = true;
            }
            if (myPensum.Course.Id != modelPensum.IdCourse)
            {
                myPensum.Course = _courseRepository.GetById(modelPensum.IdCourse);
                updateCourse    = true;
            }
            Pensum       pensum  = _pensumRepository.Update(myPensum, updateCourse, updateGrade);
            const string title   = "Pensum Actualizado";
            string       content = "El Pensum " + pensum.Id +
                                   " ha sido actualizado exitosamente.";

            TempData["MessageInfo"] = new MessageModel
            {
                Type    = "INFO",
                Title   = title,
                Content = content
            };
            return(RedirectToAction("Index"));
        }
예제 #2
0
        public Pensum Create(Pensum itemToCreate)
        {
            var pensum = _context.Pensums.Add(itemToCreate);

            _context.SaveChanges();
            return(pensum);
        }
예제 #3
0
        public ActionResult Edit(long id)
        {
            Pensum thisPensum = _pensumRepository.GetById(id);
            var    model      = Mapper.Map <PensumEditModel>(thisPensum);

            return(View("Edit", model));
        }
 public void InsertAsignation(Pensum entity)
 {
     using (var context = new QualificationsDBEntities())
     {
         context.Pensum.Attach(entity);
         context.ObjectStateManager.ChangeObjectState(entity, System.Data.EntityState.Added);
         context.SaveChanges();
     }
 }
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            Pensum pensum = await db.Pensum.FindAsync(id);

            db.Pensum.Remove(pensum);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
예제 #6
0
        protected void Button1_Click(object sender, EventArgs e)
        {
            string nombrePrograma = ddl_Programas.SelectedValue;

            if (txt_ModuleName.Text != "")
            {
                if (nombrePrograma != "")
                {
                    long ProgramaID = 0;
                    long ModuloID   = 0;

                    updateEntity = new Module();
                    pensum       = new Pensum();

                    try
                    {
                        entity            = new Module();
                        entity.ModuleName = txt_ModuleName.Text;
                        entity.Mode       = rbl_Mode.SelectedValue.ToString();
                        entity.Status     = 2;

                        proxyModule.InsertModule(entity);

                        // Obteniendo el ID del Modulo recien añadido
                        ModuloID = proxyModule.GetModuleID(txt_ModuleName.Text);
                        //Obteniendo el ID del Programa Seleccionado
                        ProgramaID = proxyProgram.GetProgramID(nombrePrograma);
                        //Obteniendo el Modulo recien añadido
                        updateEntity = Get(ModuloID);

                        //Registrando en la Tabla Pensum
                        pensum.GraduateProgram = ProgramaID;
                        pensum.ModuleCode      = ModuloID;
                        proxyAsignation.InsertAsignation(pensum);

                        //Actualizando el Módulo Añadido
                        updateEntity.Status = 1;
                        UpdateModule(updateEntity);

                        lbl_mensaje.Text    = "Módulo Registrado Exitosamente";
                        txt_ModuleName.Text = "";
                    }
                    catch (Exception ex)
                    {
                        lbl_mensaje.Text = "Ocurrio un problema inesperado. El Módulo no se ha registrado";
                    }
                }
                else
                {
                    lbl_mensaje.Text = "Seleccione un Programa de Postgrado";
                }
            }
            else
            {
                lbl_mensaje.Text = "Ingrese los datos en todos los campos de texto.";
            }
        }
        public async Task <ActionResult> Edit([Bind(Include = "Id_Pensum,Nombre,Codigo,FK_Id_Linea,numSemestre")] Pensum pensum)
        {
            if (ModelState.IsValid)
            {
                db.Entry(pensum).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.FK_Id_Linea = new SelectList(db.Linea, "Id_Linea", "Nombre", pensum.FK_Id_Linea);
            return(View(pensum));
        }
예제 #8
0
 public Pensum Update(Pensum itemToUpdate, bool updateCourse = true, bool updateGrade = true)
 {
     if (updateCourse)
     {
         _context.Entry(itemToUpdate.Course).State = EntityState.Modified;
     }
     if (updateGrade)
     {
         _context.Entry(itemToUpdate.Grade).State = EntityState.Modified;
     }
     _context.SaveChanges();
     return(itemToUpdate);
 }
예제 #9
0
        public ActionResult Delete(long id)
        {
            Pensum       pensum  = _pensumRepository.Delete(id);
            const string title   = "Pensum Eliminado";
            string       content = "El Pesum de " + pensum.Course + " para el grado " + pensum.Grade + " ha sido eliminado exitosamente.";

            TempData["MessageInfo"] = new MessageModel
            {
                Type    = "INFO",
                Title   = title,
                Content = content
            };
            return(RedirectToAction("Index"));
        }
예제 #10
0
        public ActionResult Edit(long id)
        {
            Pensum thisPensum = _pensumRepository.GetById(id);
            var    pensum     = new PensumEditModel
            {
                IdCourse = thisPensum.Course.Id,
                Id       = thisPensum.Id,
                IdGrade  = thisPensum.Grade.Id
            };

            ViewBag.IdCourse = new SelectList(_courseRepository.Query(x => x), "Id", "Name", thisPensum.Course.Id);
            ViewBag.IdGrade  = new SelectList(_gradeRepository.Query(x => x), "Id", "Name", thisPensum.Grade.Id);
            return(View("Edit", pensum));
        }
        // GET: Pensums/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Pensum pensum = await db.Pensum.FindAsync(id);

            if (pensum == null)
            {
                return(HttpNotFound());
            }
            return(View(pensum));
        }
        // GET: Pensums/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Pensum pensum = await db.Pensum.FindAsync(id);

            if (pensum == null)
            {
                return(HttpNotFound());
            }
            ViewBag.FK_Id_Linea = new SelectList(db.Linea, "Id_Linea", "Nombre", pensum.FK_Id_Linea);
            return(View(pensum));
        }
예제 #13
0
        public Pensum UpdateNew(Pensum itemToUpdate)
        {
            var updateCourse = false;
            var updateGrade  = false;
            var pensum       = GetById(itemToUpdate.Id);

            if (pensum.Course.Id != itemToUpdate.Course.Id)
            {
                pensum.Course = itemToUpdate.Course;
                updateCourse  = true;
            }
            if (pensum.Grade.Id != itemToUpdate.Grade.Id)
            {
                pensum.Grade = itemToUpdate.Grade;
                updateGrade  = true;
            }
            return(Update(pensum, updateCourse, updateGrade));
        }
예제 #14
0
        public ActionResult Edit(PensumEditModel modelPensum)
        {
            Pensum myPensum = _pensumRepository.GetById(modelPensum.Id);

            if (_pensumRepository.Filter(x => x.Grade.Id == myPensum.Grade.Id && x.Id != modelPensum.Id && x.Name.Equals(modelPensum.Name)).Any())
            {
                _viewMessageLogic.SetNewMessage("Error", "Ya existe un pensum con ese nombre.", ViewMessageType.ErrorMessage);
                return(RedirectToAction("Index", new { gradeId = myPensum.Grade.Id }));
            }
            myPensum = Mapper.Map(modelPensum, myPensum);
            Pensum       pensum  = _pensumRepository.Update(myPensum);
            const string title   = "Pensum Actualizado";
            string       content = "El Pensum " + pensum.Name +
                                   " ha sido actualizado exitosamente.";

            _viewMessageLogic.SetNewMessage(title, content, ViewMessageType.SuccessMessage);
            return(RedirectToAction("Index", new { gradeId = myPensum.Grade.Id }));
        }
예제 #15
0
        public ActionResult Add(PensumRegisterModel modelPensum)
        {
            var myPensum = new Pensum
            {
                Grade  = _gradeRepository.GetById(modelPensum.IdGrade),
                Course = _courseRepository.GetById(modelPensum.IdCourse)
            };
            Pensum       user    = _pensumRepository.Create(myPensum);
            const string title   = "Pensum Agregado";
            string       content = "El pensum " + user.Id + " ha sido agregado exitosamente.";

            TempData["MessageInfo"] = new MessageModel
            {
                Type    = "SUCCESS",
                Title   = title,
                Content = content
            };
            return(RedirectToAction("Index"));
        }
예제 #16
0
        public ActionResult Delete(long id)
        {
            Pensum pensum  = _pensumRepository.GetById(id);
            var    gradeId = pensum.Grade.Id;

            if (_academicGradeRepository.Filter(x => x.ActivePensum.Id == id).Any())
            {
                _viewMessageLogic.SetNewMessage("Error", "El pensum esta siendo usado por un grado académico y no puede eliminarse.", ViewMessageType.ErrorMessage);
                return(RedirectToAction("Index", new { gradeId }));
            }
            if (pensum.Courses.Any())
            {
                _viewMessageLogic.SetNewMessage("Error", "El pensum tiene cursos, elimine los cursos primero para posteriormente poder eliminar el pensum.", ViewMessageType.ErrorMessage);
                return(RedirectToAction("Index", new { gradeId }));
            }
            pensum = _pensumRepository.Delete(pensum);
            const string title   = "Pensum Eliminado";
            string       content = "El Pesum " + pensum.Name + " ha sido eliminado exitosamente.";

            _viewMessageLogic.SetNewMessage(title, content, ViewMessageType.SuccessMessage);
            return(RedirectToAction("Index", new { gradeId }));
        }
예제 #17
0
        public async Task <IActionResult> Crear([FromBody] Pensum model)
        {
            if (!(await esAdmin()))
            {
                return(Forbid());
            }

            try
            {
                //var carrera = await _context.Carreras.FirstOrDefaultAsync(c => c.CodigoCarrera == model.CodigoCarrera);
                //model.Carrera = carrera;
                _context.Pensums.Add(model);
                await _context.SaveChangesAsync();

                return(Ok(new {
                    status = 200,
                    message = "Se guardó el pensum"
                }));
            } catch (DbUpdateException ex)
            {
                string error = ex.InnerException.Message;
                if (DUP_KEY_ERROR_REGEX.IsMatch(error))
                {
                    error = "Pensum duplicado";
                }
                else if (CARRERA_FK_ERROR_REGEX.IsMatch(error))
                {
                    error = "La carrera no existe";
                }
                return(BadRequest(new
                {
                    status = 400,
                    message = "No se pudo guardar el pensum",
                    error
                }));
            }
        }
        public IActionResult Pensums(IFormFile file)
        {
            try
            {
                List <Pensum> pensums = new List <Pensum>();
                using (var reader = new StreamReader(file.OpenReadStream()))
                {
                    while (reader.Peek() >= 0)
                    {
                        Pensum p     = new Pensum();
                        var    line  = reader.ReadLine();
                        var    array = line.Split("|");
                        p.CODIGO_MATERIA      = array[1];
                        p.DESCRIPCION_MATERIA = array[2];
                        p.CODIGO_OFICIAL      = array[3];
                        p.CREDITOS            = Convert.ToByte(array[4]);
                        p.CUATRIMESTRE        = Convert.ToInt32(array[5]);

                        pensums.Add(p);
                    }
                }

                pensums.ForEach(d =>
                {
                    _context.Pensums.Add(d);
                });
                _context.SaveChanges();
                ViewBag.Msg = "Datos guardados exitosamente";
            }
            catch (Exception e)
            {
                ViewBag.Msg = "Error al procesar el archivo";
            }

            return(View("Index"));
        }
예제 #19
0
 public Pensum Delete(Pensum itemToDelete)
 {
     _context.Pensums.Remove(itemToDelete);
     _context.SaveChanges();
     return(itemToDelete);
 }
예제 #20
0
 public void Detach(Pensum pensum)
 {
     _context.Entry(pensum).State = EntityState.Detached;
 }
예제 #21
0
 public Pensum Update(Pensum itemToUpdate)
 {
     _context.Entry(itemToUpdate).State = EntityState.Modified;
     _context.SaveChanges();
     return(itemToUpdate);
 }
예제 #22
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();
        }