예제 #1
0
        //Boton para generar 5 alumnos y 5 materias automaticamente.
        private void btnPruebaAlumno_Click(object sender, EventArgs e)
        {
            ClaseAlumno Alumno  = new ClaseAlumno(1, "Sebastian", "Otero");
            ClaseAlumno Alumno1 = new ClaseAlumno(2, "Roberto", "Velez");
            ClaseAlumno Alumno2 = new ClaseAlumno(3, "Emilia", "Galea");
            ClaseAlumno Alumno3 = new ClaseAlumno(4, "Juan Cruz", "Yrigoyen");
            ClaseAlumno Alumno4 = new ClaseAlumno(5, "Hernan", "Lacroze");

            Alumno.EventoPromedioAlto  += FuncionEventoPromedioAlto;
            Alumno1.EventoPromedioAlto += FuncionEventoPromedioAlto;
            Alumno2.EventoPromedioAlto += FuncionEventoPromedioAlto;
            Alumno3.EventoPromedioAlto += FuncionEventoPromedioAlto;
            Alumno4.EventoPromedioAlto += FuncionEventoPromedioAlto;
            universidad.AgregarAlumno(Alumno);
            universidad.AgregarAlumno(Alumno1);
            universidad.AgregarAlumno(Alumno2);
            universidad.AgregarAlumno(Alumno3);
            universidad.AgregarAlumno(Alumno4);
            universidad.OrdenarAlfabeticamente();
            ActualizarDGV(dgvAlumnos, universidad.AlumnosQueCursan);

            ClaseMateria Materia  = new ClaseMateriaBasica(1, "Matematicas");
            ClaseMateria Materia1 = new ClaseMateriaBasica(2, "Literatura");
            ClaseMateria Materia2 = new ClaseMateriaEspecializada(3, "Quimica Organica");
            ClaseMateria Materia3 = new ClaseMateriaBasica(4, "Fisica");
            ClaseMateria Materia4 = new ClaseMateriaEspecializada(5, "Telecomunicaciones");

            universidad.AgregarMateria(Materia);
            universidad.AgregarMateria(Materia1);
            universidad.AgregarMateria(Materia2);
            universidad.AgregarMateria(Materia3);
            universidad.AgregarMateria(Materia4);
            ActualizarDGV(dgvMaterias, universidad.MateriasImpartidas);
            btnPruebaAlumno.Enabled = false;
        }
예제 #2
0
        //Boton para añadir un alumno a la universidad
        private void btnAñadirAlumno_Click(object sender, EventArgs e)
        {
            try
            {
                //Controla si se ingreso algún valor en el legajo
                if (txtAlumnoLegajo.Text == "")
                {
                    throw new Exception("Ingrese legajo.");
                }

                //Controla si el legajo ya existe, utilizando consula LINQ
                if (ExisteAlumno(Convert.ToInt32(txtAlumnoLegajo.Text)) == 1)
                {
                    throw new Exception("Ya existe un alumno con este legajo.");
                }

                //Controla si el nombre ingresado tiene mas de 3 caracteres
                if (txtAlumnoNombre.Text.Count() < 3)
                {
                    throw new Exception("Ingrese un nombre con 3 caracteres mínimo.");
                }

                //Controla si el apellido ingresado tiene mas de 3 caracteres
                if (txtAlumnoApellido.Text.Count() < 3)
                {
                    throw new Exception("Ingrese un apellido con 3 caracteres mínimo.");
                }

                //Declara alumno
                ClaseAlumno Alumno;

                //Almacena los datos ingresados en variables
                int    legajo   = Convert.ToInt32(txtAlumnoLegajo.Text);
                string nombre   = txtAlumnoNombre.Text.ToString();
                string apellido = txtAlumnoApellido.Text.ToString();

                //Crea alumno con los datos en variables
                Alumno = new ClaseAlumno(legajo, nombre, apellido);

                //Suscribe al alumno a el evento "promedio alto"
                Alumno.EventoPromedioAlto += FuncionEventoPromedioAlto;

                //Se agrega el alumno a la lista de alumnos de la universidad
                universidad.AgregarAlumno(Alumno);
                //Se ordenan alfabeticamente
                universidad.OrdenarAlfabeticamente();
                //Se actualiza el DataGridView
                ActualizarDGV(dgvAlumnos, universidad.AlumnosQueCursan);
                //Se borra los textbox con los datos ingresados
                txtAlumnoLegajo.Clear();
                txtAlumnoNombre.Clear();
                txtAlumnoApellido.Clear();
            }
            catch (Exception ex)
            {
                //en caso de Error, muestra el mensaje correspondiente
                MessageBox.Show(ex.Message, "¡ERROR!");
            }
        }
예제 #3
0
        //Evento al seleccionar un alumno de la lista de alumnos
        private void dgvAlumnos_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            //Obtiene el alumno seleccionado y actualiza los DGV de sus materias
            ClaseAlumno Alumno = (ClaseAlumno)(dgvAlumnos.SelectedRows[0].DataBoundItem);

            ActualizarDGV(dgvMateriasEnCurso, Alumno.MateriasEnCurso);
            ActualizarDGV(dgvMateriasAprobadas, Alumno.MateriasAprobadas);
            ActualizarDGV(dgvMateriasDesaprobadas, Alumno.MateriasDesaprobadas);
        }
예제 #4
0
 public void EliminarAlumno(ClaseAlumno pAlumno)
 {
     try
     {
         ListaAlumnos.Remove(pAlumno);
     }
     catch (Exception)
     {
         throw;
     }
 }
예제 #5
0
        public void AgregarAlumno(ClaseAlumno pAlumno)
        {
            try
            {
                ListaAlumnos.Add(pAlumno);
            }
            catch (Exception)

            {
            }
        }
예제 #6
0
 //Boton para eliminar un alumno de la universidad
 private void btnEliminarAlumno_Click(object sender, EventArgs e)
 {
     try
     {
         //Obtiene el alumno seleccionado de la lista
         ClaseAlumno Alumno = (ClaseAlumno)(dgvAlumnos.SelectedRows[0].DataBoundItem);
         //Ejecuta el metood eliminar alumno
         universidad.EliminarAlumno(Alumno);
         //Ordena alfabeticamente los alumnos
         universidad.OrdenarAlfabeticamente();
         //Actualiza la nueva lista de alumnos
         ActualizarDGV(dgvAlumnos, universidad.AlumnosQueCursan);
     }
     catch (Exception)
     {
         MessageBox.Show("Seleccione un alumno para eliminar", "¡ERROR!");
     }
 }
예제 #7
0
 //Boton para colocar nota a un alumno en una determinada materia cursada
 private void btnColocarNota_Click(object sender, EventArgs e)
 {
     try
     {
         //Comprueba si hay un alumno seleccionado
         if (dgvAlumnos.CurrentRow == null)
         {
             throw new Exception("Seleccione un alumno de la lista de alumnos.");
         }
         //Obtiene el alumno seleccionado de la lista
         ClaseAlumno Alumno = (ClaseAlumno)(dgvAlumnos.SelectedRows[0].DataBoundItem);
         //Comprueba si hay una materia en curso seleccionada
         if (dgvMateriasEnCurso.CurrentRow == null)
         {
             throw new Exception("Seleccione una materia de la lista de materias.");
         }
         //Obtiene la materia
         ClaseMateria Materia = (ClaseMateria)(dgvMateriasEnCurso.SelectedRows[0].DataBoundItem);
         //Comprueba si ingreso algo en el txtbox
         if (txtNota.Text == "")
         {
             txtNota.Focus();
             throw new Exception("Ingrese una nota entre 0 y 10");
         }
         //Almacena la nota ingresada
         decimal nota = Convert.ToDecimal(txtNota.Text.ToString());
         //Comprueba si la nota se encuentra entre 0 y 10
         if (nota <= 0 || nota > 10)
         {
             throw new Exception("Solo se permiten notas entre 0 y 10.");
         }
         //Almacena la nota
         Materia.Nota = nota;
         //finaliza la materia
         Alumno.FinalizarMateria(Materia);
         dgvAlumnos_CellClick(null, null);
         txtNota.Clear();
     }
     catch (Exception Ex)
     {
         MessageBox.Show(Ex.Message, "¡ERROR!");
     }
 }
예제 #8
0
 //Boton para calcular el promedio de materias aprobadas (Solo tiene en cuenta materias con nota)
 private void btnPromMateriasAprob_Click(object sender, EventArgs e)
 {
     try
     {
         //Comprueba si existe un alumno seleccionado
         if (dgvAlumnos.CurrentRow == null)
         {
             throw new Exception("Seleccione un alumno para conocer el promedio");
         }
         //Obtiene el alumno seleccionado del DGV
         ClaseAlumno Alumno = (ClaseAlumno)(dgvAlumnos.SelectedRows[0].DataBoundItem);
         //Ejecuta el metodo de promedio de materias aprobadas
         decimal promedio = Alumno.PromedioDeMateriasAprobadas();
         //En caso de tener 0 materias, el propio metodo lanza un mensaje de error
         //Muestra el promedio
         MessageBox.Show("El/La alumno/a " + Alumno.Nombre + " " + Alumno.Apellido + " tiene el " + promedio.ToString() + " % de materias aprobadas.", "PROMEDIO.");
     }
     catch (Exception Ex)
     {
         MessageBox.Show(Ex.Message, "¡ERROR!");
     }
 }
예제 #9
0
        //Boton que muestra el promedio general de un alumno
        private void btnPromedioGeneral_Click(object sender, EventArgs e)
        {
            try
            {
                if (dgvAlumnos.CurrentRow == null)
                {
                    throw new Exception("Seleccione un alumno de la lista.");
                }
                //Obtiene el alumno de la lista
                ClaseAlumno Alumno = (ClaseAlumno)(dgvAlumnos.SelectedRows[0].DataBoundItem);

                //Ejecuta el metodo que calcula el promedio general
                decimal promedio = Alumno.PromedioGeneral();

                //Muestra el promedio por medio de un MessageBox
                MessageBox.Show(promedio.ToString());
            }
            catch (Exception Ex)
            {
                MessageBox.Show(Ex.Message, "¡ERROR!");
            }
        }
예제 #10
0
        //Botón para asignar una materia a un alumno
        private void btnAsignarMateria_Click(object sender, EventArgs e)
        {
            try
            {
                //En caso de no existir aun datos de alumnos
                if (dgvAlumnos.Rows.Count == 0)
                {
                    throw new Exception("Ingrese alumno.");
                }
                //En caso de no estar seleccionado un alumno
                if (dgvAlumnos.SelectedRows.Count < 1)
                {
                    throw new Exception("Seleccione alumno.");
                }
                //En caso de no existir aun datos de materias
                if (dgvMaterias.Rows.Count == 0)
                {
                    throw new Exception("Ingrese materias.");
                }
                //En caso de no estar seleccionada una materia
                if (dgvMaterias.SelectedRows.Count < 1)
                {
                    throw new Exception("Seleccione materia.");
                }

                //Crea alumno y materia, según lo seleccionado en los DataGridView
                ClaseAlumno  Alumno  = (ClaseAlumno)(dgvAlumnos.SelectedRows[0].DataBoundItem);
                ClaseMateria Materia = (ClaseMateria)(dgvMaterias.SelectedRows[0].DataBoundItem);

                //Comprobar si ya esta cursando la materia
                if (!PuedeCursar(Alumno.MateriasEnCurso, Materia))
                {
                    throw new Exception("Ya esta cursando esta materia.");
                }

                //Comprobar si ya aprobo esa materia
                if (!PuedeCursar(Alumno.MateriasAprobadas, Materia))
                {
                    throw new Exception("Ya curso y aprobo esta materia.");
                }

                //Comprobar si ya esta cursando una materia especializada
                if (Materia.GetType().Equals(typeof(ClaseMateriaEspecializada)))
                {
                    foreach (ClaseMateria C in Alumno.MateriasEnCurso)
                    {
                        if (C.GetType() == typeof(ClaseMateriaEspecializada))
                        {
                            throw new Exception("Ya esta cursando una especializada");
                        }
                    }
                }

                //Almacena los datos de la materia en variables
                int    codigo       = Materia.Codigo;
                string denominacion = Materia.Denominacion;

                //Crea un nuevo objeto con los datos obtenidos de la materia seleccionada,
                //para asociar al alumno
                if (Materia.GetType().Equals(typeof(ClaseMateriaBasica)))
                {
                    ClaseMateria MateriaAsignada = new ClaseMateriaBasica(codigo, denominacion);
                    Alumno.AsignarMateria(MateriaAsignada);
                }
                else
                {
                    ClaseMateria MateriaAsignada = new ClaseMateriaEspecializada(codigo, denominacion);
                    Alumno.AsignarMateria(MateriaAsignada);
                }

                //Actualiza el DataGridView de las materias cursadas actualmente por el alumno
                ActualizarDGV(dgvMateriasEnCurso, Alumno.MateriasEnCurso);
            }
            catch (Exception ex)
            {
                //En caso de error, muestra el mensaje correspondiente
                MessageBox.Show(ex.Message, "¡ERROR!");
            }
        }