示例#1
0
        public IActionResult Eliminar(int id)
        {
            CarrerasRepository carrerasRepository = new CarrerasRepository();
            var carreraResult = carrerasRepository.GetCarreraById(id);

            return(View(carreraResult));
        }
示例#2
0
        public IActionResult Index()
        {
            CarrerasRepository    carrerasRepository  = new CarrerasRepository();
            IEnumerable <Carrera> carrerasIEnumerable = carrerasRepository.GetAll();

            return(View(carrerasIEnumerable));
        }
示例#3
0
        public IActionResult RecuperarCarrera(int id)
        {
            CarrerasRepository repos = new CarrerasRepository();

            repos.Recuperacion(id);
            return(RedirectToAction("Index"));
        }
示例#4
0
 public frmListado()
 {
     InitializeComponent();
     cbCarreras.DataSource    = CarrerasRepository.ObtenerCarreras().OrderBy(c => c.Nombre).ToList();
     cbCarreras.DisplayMember = "Nombre";
     cbCarreras.ValueMember   = "Id";
 }
示例#5
0
        public IActionResult Eliminar(CarreraViewModel carreraVM)
        {
            CarrerasRepository carrerasRepostery = new CarrerasRepository();
            var carreraResult = carrerasRepostery.GetById(carreraVM.IdCarrera);

            if (carreraResult != null)
            {
                carrerasRepostery.Delete(carreraResult);
            }
            return(RedirectToAction("Carrera", "Administrador"));
        }
示例#6
0
 private void ConsultarDatos()
 {
     dgvDatos.SetDataSource(from c in CarrerasRepository.ObtenerCarreras()
                            orderby c.Id
                            select new
     {
         c.Id,
         c.Nombre,
         Duracion          = String.Format("{0} años", c.Duracion),
         DescripciónEstado = (c.Estado == 1 ? "Habilitada" : "Baja"),
         c.Estado
     });
 }
        public frmAsignarAlumnosACursos()
        {
            InitializeComponent();
            cbCarreras.DataSource    = CarrerasRepository.ObtenerCarreras().OrderBy(c => c.Nombre).ToList();
            cbCarreras.DisplayMember = "Nombre";
            cbCarreras.ValueMember   = "Id";

            lblCicloLectivo.Text = String.Format("Ciclo Lectivo {0:n0}", ConfiguracionRepository.ObtenerConfiguracion().CicloLectivo);

            txtBuscar.ForeColor   = SystemColors.GrayText;
            txtBuscar.Text        = _leyenda;
            this.txtBuscar.Leave += new System.EventHandler(this.textBox1_Leave);
            this.txtBuscar.Enter += new System.EventHandler(this.textBox1_Enter);
        }
示例#8
0
 private Models.Carrera ObtenerCarreraSeleccionada()
 {
     try
     {
         int rowindex = dgvDatos.CurrentCell.RowIndex;
         var id       = (int)dgvDatos.Rows[rowindex].Cells[0].Value;
         var m        = CarrerasRepository.ObtenerCarreraPorId(id);
         return(m);
     }
     catch (Exception)
     {
         return(null);
     }
 }
示例#9
0
        public frmInfPagosTotales()
        {
            InitializeComponent();

            var qry = CarrerasRepository.ObtenerCarreras().OrderBy(c => c.Nombre).ToList();

            qry.Insert(0, new Carrera {
                Id = 0, Nombre = "(Todas las carreras)"
            });
            cbCarreras.DisplayMember = "Nombre";
            cbCarreras.ValueMember   = "Id";
            cbCarreras.DataSource    = qry;

            cargarMediosPago();
        }
        public void Notificar()
        {
            var carreras = CarrerasRepository.ObtenerCarreras();
            var cantidad = Configuration.MaxCount;

            foreach (var item in carreras)
            {
                var morososPorCarrera = AlumnosMorososRepository.ObtenerAlumnosMorosos(item.Id);
                if (cantidad > -1)
                {
                    morososPorCarrera = morososPorCarrera.Take(cantidad).ToList();
                }
                ProcesarEMailMorosos(morososPorCarrera);
                cantidad = cantidad - morososPorCarrera.Count();
            }
        }
示例#11
0
        public frmInfAlumnosMorosos()
        {
            InitializeComponent();

            var qry = CarrerasRepository.ObtenerCarreras().OrderBy(c => c.Nombre).ToList();

            qry.Insert(0, new Carrera {
                Id = 0, Nombre = "(Todas las carreras)"
            });
            cbCarreras.DisplayMember = "Nombre";
            cbCarreras.ValueMember   = "Id";
            cbCarreras.DataSource    = qry;

            CargarTiposInforme();
            CargarTiposBecados();
        }
示例#12
0
        public IActionResult EditarCarrera(int id)
        {
            //ViewBag.Admin = 1;
            CarrerasRepository repos = new CarrerasRepository();

            var e = repos.GetCarreraById(id);


            if (e == null)
            {
                return(RedirectToAction("Carreras"));
            }
            else
            {
                return(View(e));
            }
        }
示例#13
0
 public UnitOfWork(IHttpClientsFactory httpClientsFactory)
 {
     AulasRepository           = new AulasRepository(httpClientsFactory, _apiAulas);
     CarrerasRepository        = new CarrerasRepository(httpClientsFactory, _apiCarreras);
     DisponibilidadRepository  = new DisponibilidadProfesorRepository(httpClientsFactory, _apiDisponibilidad);
     HorarioProfesorRepository = new HorarioProfesorRepository(httpClientsFactory, _apiHorarioProfesor);
     MateriasRepository        = new MateriasRepository(httpClientsFactory, _apiMaterias);
     PeriodoCarreraRepository  = new PeriodoCarreraRepository(httpClientsFactory, _apiPeriodoCarrera);
     PrioridadesRepository     = new PrioridadesRepository(httpClientsFactory, _apiPrioridades);
     PrivilegiosRepository     = new PrivilegiosRepository(httpClientsFactory, _apiPrivilegios);
     ProfesorMateriaRepository = new ProfesorMateriaRepository(httpClientsFactory, _apiProfesorMateria);
     ProfesorRepository        = new ProfesorRepository(httpClientsFactory, _apiProfesor);
     SeccionesRepository       = new SeccionesRepository(httpClientsFactory, _apiSecciones);
     SemestresRepository       = new SemestresRepository(httpClientsFactory, _apiSemestres);
     TipoAulaMateriaRepository = new TipoAulaMateriaRepository(httpClientsFactory, _apiTipoAulaMateria);
     UsuarioRepository         = new UsuarioRepository(httpClientsFactory, _apiAccount);
 }
示例#14
0
        public IActionResult EliminarCarrera(int id)
        {
            //ViewBag.Admin = 1;
            CarrerasRepository repos = new CarrerasRepository();
            var v = repos.GetById(id);

            if (v != null)
            {
                repos.BajaLogica(id);
                ViewBag.Mensaje = "La carrera ha sido eliminada exitosamente.";
            }
            else
            {
                ViewBag.Mensaje = "La carrera no existe o ya ha sido eliminada.";
            }
            return(RedirectToAction("Index"));
        }
示例#15
0
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            var m = ObtenerCarreraSeleccionada();

            if (MessageBox.Show("¿Está seguro de que desea eliminar la carrera seleccionada?",
                                "Eliminar carrera", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
            {
                try
                {
                    CarrerasRepository.Eliminar(m.Id);
                    ConsultarDatos();
                    dgvDatos.SetRow(r => Convert.ToDecimal(r.Cells[0].Value) == m.Id);
                }
                catch (Exception ex)
                {
                    ShowError(ex.Message);
                }
            }
        }
示例#16
0
 private void btnNuevo_Click(object sender, EventArgs e)
 {
     using (var f = new frmEdición())
     {
         if (f.ShowDialog() == DialogResult.OK)
         {
             try
             {
                 var c = CarrerasRepository.Insertar(f.Nombre, f.Duración, f.Estado);
                 ConsultarDatos();
                 dgvDatos.SetRow(r => Convert.ToDecimal(r.Cells[0].Value) == c.Id);
             }
             catch (Exception ex)
             {
                 ShowError("Error al intentar grabar los datos: \n" + ex.Message);
             }
         }
     }
 }
示例#17
0
 private void btnEditar_Click(object sender, EventArgs e)
 {
     Models.Carrera m = ObtenerCarreraSeleccionada();
     using (var f = new frmEdición(m))
     {
         if (f.ShowDialog() == DialogResult.OK)
         {
             try
             {
                 CarrerasRepository.Actualizar(m.Id, f.Nombre, f.Duración, f.Estado);
                 ConsultarDatos();
                 dgvDatos.SetRow(r => Convert.ToDecimal(r.Cells[0].Value) == m.Id);
             }
             catch (Exception ex)
             {
                 ShowError("Error al intentar grabar los datos: \n" + ex.Message);
             }
         }
     }
 }
示例#18
0
        public frmEdición()
        {
            InitializeComponent();
            cbCarreras.DataSource    = CarrerasRepository.ObtenerCarreras().OrderBy(c => c.Nombre).ToList();
            cbCarreras.DisplayMember = "Nombre";
            cbCarreras.ValueMember   = "Id";
            var modalidades = new Dictionary <int, string>();

            modalidades.Add(1, "Anual");
            modalidades.Add(2, "Primer cuatrimestre");
            modalidades.Add(3, "Segundo cuatrimestre");
            modalidades.Add(4, "Sin cursado");
            cbModalidad.DataSource    = new BindingSource(modalidades, null);
            cbModalidad.ValueMember   = "Key";
            cbModalidad.DisplayMember = "Value";
            cbModalidad.SelectedIndex = 0;
            this.Text        = "Nuevo curso";
            ckEstado.Checked = true;
            txtNombre.Select();
            _validator = new FormValidations(this, errorProvider1);
        }
示例#19
0
        public frmInfAlumnosPorEstado()
        {
            InitializeComponent();

            var qry = CarrerasRepository.ObtenerCarreras().OrderBy(c => c.Nombre).ToList();

            qry.Insert(0, new Carrera {
                Id = 0, Nombre = "(Todas las carreras)"
            });
            cbCarreras.DisplayMember = "Nombre";
            cbCarreras.ValueMember   = "Id";
            cbCarreras.DataSource    = qry;

            var estados = new Dictionary <EstadoAlumno, string>();

            estados.Add(EstadoAlumno.Activo, "Activo");
            estados.Add(EstadoAlumno.Baja, "Baja");
            cbEstado.DataSource    = new BindingSource(estados, null);
            cbEstado.ValueMember   = "Key";
            cbEstado.DisplayMember = "Value";
            cbEstado.SelectedIndex = 0;
        }
示例#20
0
        public IActionResult Agregar(CarreraViewModel carreraVM)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    CarrerasRepository carreraRepository = new CarrerasRepository();
                    var carreraResultNombre = carreraRepository.GetCarreraByNombre(carreraVM.Nombre.ToLower());
                    var carreraResultClave  = carreraRepository.GetCarreraByClave(carreraVM.Clave);
                    var carreraResult       = carreraRepository.GetCarreraByClaveNombre(carreraVM.Clave, carreraVM.Nombre.ToLower());

                    //Regex regex = new Regex(@"^[a-zA-ZñÑáéíóúÁÉÍÓÚ\s 0-9 ]+$");
                    Regex regexClave     = new Regex(@"^[a-zA-Z]+$");
                    Regex regexNombre    = new Regex(@"^[a-zA-ZñÑáéíóúÁÉÍÓÚ\s  ]+$");
                    bool  resultadoClave = true;
                    resultadoClave = regexClave.IsMatch(carreraVM.Clave);
                    bool resultadoNombre = true;
                    resultadoNombre = regexNombre.IsMatch(carreraVM.Nombre);

                    if (!resultadoClave)
                    {
                        ModelState.AddModelError("", "La clave de la carrera solo acepta letras. (Máximo 2, verifique espacios)");
                        return(View(carreraVM));
                    }
                    if (!resultadoNombre)
                    {
                        ModelState.AddModelError("", "No se aceptan números y caracteres especiales en el nombre (Solo: a-z, A-Z).");
                        return(View(carreraVM));
                    }

                    //if (!resultadoClave || !resultadoNombre)
                    //{
                    //    ModelState.AddModelError("", "No se aceptan caracteres especiales (Solo: a-z, A-Z, 0-9).");
                    //    return View(carreraVM);
                    //}

                    Regex  regexNoNumStart     = new Regex(@"[0-9]| $");
                    bool   resultadoNoNumStart = false;
                    string textoFirstChart     = carreraVM.Nombre.Substring(0, 1);
                    resultadoNoNumStart = regexNoNumStart.IsMatch(textoFirstChart);
                    if (resultadoNoNumStart)
                    {
                        ModelState.AddModelError("", "No se permite iniciar con NÚMERO o con ESPACIO.");
                        return(View(carreraVM));
                    }

                    if (carreraResult == null)
                    {
                        if (carreraResultNombre != null)
                        {
                            ModelState.AddModelError("", "Ya existe una carrera con el mismo nombre ");
                            return(View(carreraVM));
                        }
                        if (carreraResultClave != null)
                        {
                            ModelState.AddModelError("", "Ya existe una carrera con la misma clave");
                            return(View(carreraVM));
                        }

                        carreraRepository.InsertCarreraVM(carreraVM);

                        return(RedirectToAction("Carrera", "Administrador"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Ya existe esta carrera");
                        return(View(carreraVM));
                    }
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", ex.Message);
                    return(View(carreraVM));
                }
            }
            else
            {
                return(View(carreraVM));
            }
        }
示例#21
0
        public IActionResult Index()
        {
            CarrerasRepository repos = new CarrerasRepository();

            return(View(repos.GetCarrerasActivas()));
        }
示例#22
0
        public IActionResult AgregarCarrera(DACarrerasViewModel carrera)
        {
            //ViewBag.Admin = 1;
            if (ModelState.IsValid)
            {
                //try
                //{
                CarrerasRepository RepositorioCarreras = new CarrerasRepository();

                var ResultNombre       = RepositorioCarreras.GetCarreraByNombre(carrera.Nombre);
                var ResultClave        = RepositorioCarreras.GetCarreraByClave(carrera.Clave);
                var ResultClaveCarrera = RepositorioCarreras.GetCarreraByClaveNombre(carrera.Clave, carrera.Nombre);

                Regex regClave    = new Regex(@"^[a-zA-Z]+$");
                Regex regNombre   = new Regex(@"^[a-zA-ZñÑáéíóúÁÉÍÓÚ\s  ]{6,}$");
                bool  resultClave = true;
                resultClave = regClave.IsMatch(carrera.Clave);
                bool resultNombre = true;
                resultNombre = regNombre.IsMatch(carrera.Nombre);

                if (!resultClave)
                {
                    ModelState.AddModelError("", "La clave solo acepta 2 letras sin espacios ni caracteres especiales.");
                    return(View(carrera));
                }

                if (!resultNombre)
                {
                    ModelState.AddModelError("", "El nombre debe contener 6 o más caracteres, no puede contener números y/o caracteres especiales.");
                    return(View(carrera));
                }

                Regex  regexNumInicio    = new Regex(@"[0-9]| $");
                string expresion         = carrera.Nombre.Substring(0, 1);
                bool   resultadoRegexNum = regexNumInicio.IsMatch(expresion);

                if (resultadoRegexNum)
                {
                    ModelState.AddModelError("", "El nombre de la carrera no puede iniciar con un numero.");
                    return(View(carrera));
                }

                if (ResultClaveCarrera == null)
                {
                    if (ResultNombre != null)
                    {
                        ModelState.AddModelError("", "Ya existe una carrera con el mismo nombre.");
                        if (RepositorioCarreras.GetCarreraByNombre(carrera.Nombre).Estatus == false)
                        {
                            ViewBag.Recuperacion = true;
                            ViewBag.IdEncRec     = RepositorioCarreras.GetCarreraByNombre(carrera.Nombre).Id;
                        }
                        return(View(carrera));
                    }
                    if (ResultClave != null)
                    {
                        ModelState.AddModelError("", "Ya existe una carrera con la misma clave.");
                        return(View(carrera));
                    }

                    RepositorioCarreras.Insert(carrera);
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ModelState.AddModelError("", "Ya existe esta carrera.");
                    return(View(carrera));
                }
                //}
                //catch (Exception ex)
                //{
                //    ModelState.AddModelError("", ex.Message);
                //    return View(carrera);
                //}
            }
            else
            {
                return(View(carrera));
            }
        }