public void EliminarMateria(ClaseMateria pMateria) { try { ListaMaterias.Remove(pMateria); } catch (Exception) { throw; } }
public void AgregarMateria(ClaseMateria pMateria) { try { ListaMaterias.Add(pMateria); } catch (Exception) { } }
public void AsignarMateria(ClaseMateria pMateria) { try { ListaMateriasEnCurso.Add(pMateria); } catch (Exception) { throw; } }
//Método que analiza si un alumno se esta inscribiendo en una materia que ya se encuentra en una de sus listas de materia public bool PuedeCursar(Array pListaMaterias, ClaseMateria pMateria) { //Comprueba el codigo de cada materia de una lista con la materia a la que se quiere anotar foreach (ClaseMateria C in pListaMaterias) { if (C.Codigo == pMateria.Codigo) { return(false); } } return(true); }
//Boton para eliminar una materia private void btnEliminarMateria_Click(object sender, EventArgs e) { try { //Obtiene la materia seleccionada ClaseMateria Materia = (ClaseMateria)(dgvMaterias.SelectedRows[0].DataBoundItem); //Ejecuta el metodo eliminar materia universidad.EliminarMateria(Materia); //Actualiza la nueva lista de materias ActualizarDGV(dgvMaterias, universidad.MateriasImpartidas); } catch (Exception) { MessageBox.Show("Seleccione una materia para eliminar", "¡ERROR!"); } }
//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!"); } }
public void FinalizarMateria(ClaseMateria pMateria) { try { if (pMateria.Nota > 4) { ListaMateriasAprobadas.Add(pMateria); } else { ListaMateriasDesaprobadas.Add(pMateria); } ListaMateriasEnCurso.Remove(pMateria); } catch (Exception) { throw; } }
//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!"); } }