Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ===++===
- //
- // OrtizOL
- //
- // ===--===
- /*============================================================
- //
- // Clase: Principal.cs
- //
- // Original en: http://goo.gl/z2cUHW
- //
- // Propósito: Crear la ventana principal de la aplicación.
- //
- ============================================================*/
- using System;
- using System.Collections;
- using System.ComponentModel;
- using System.Drawing;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using ElEstudiante.Modelo;
- namespace ElEstudiante.GUI
- {
- public partial class Principal : Form
- {
- #region Componentes
- /// <summary>
- /// Control con los botones de operaciones de la aplicación.
- /// </summary>
- private ControlBotones controlBotones;
- /// <summary>
- /// Control para la visualización de los datos del estudiante.
- /// </summary>
- private ControlDatosEstudiante controlDatosEstudiante;
- /// <summary>
- /// Control para el registro de un estudiante en la Universidad.
- /// </summary>
- private ControlRegistroEstudiante controlRegistroEstudiante;
- #endregion
- #region Campos
- /// <summary>
- /// Representa un curso.
- /// </summary>
- public Curso curso;
- /// <summary>
- /// Representa el estudiant.
- /// </summary>
- private Estudiante estudiante;
- /// <summary>
- /// Variable auxiliar para el código de un curso.
- /// </summary>
- public String codigoCurso;
- /// <summary>
- /// Variable auxiliar para la nota de un curso.
- /// </summary>
- public double nota;
- #endregion
- #region Constructores
- /// <summary>
- /// Crea la ventana principal de la aplicación.
- /// </summary>
- public Principal()
- {
- InitializeComponent();
- ConfiguracionComponentes();
- }
- #endregion
- #region Métodos
- /// <summary>
- /// Configura los componentes de interfaz esenciales de la aplicación.
- /// </summary>
- private void ConfiguracionComponentes()
- {
- controlBotones = new ControlBotones(this);
- controlBotones.Location = new Point(0, 210);
- controlDatosEstudiante = new ControlDatosEstudiante();
- controlDatosEstudiante.Location = new Point(0, 97);
- controlRegistroEstudiante = new ControlRegistroEstudiante(this);
- this.Controls.Add(controlRegistroEstudiante);
- this.Controls.Add(controlDatosEstudiante);
- this.Controls.Add(controlBotones);
- }
- /// <summary>
- /// Registra un estudiante.
- /// </summary>
- public void RegistrarEstudiante()
- {
- string apellido = controlRegistroEstudiante.Apellido;
- string codigo = controlRegistroEstudiante.Codigo;
- string nombre = controlRegistroEstudiante.Nombre;
- try
- {
- if (apellido.Equals("") && codigo.Equals("") && nombre.Equals(""))
- {
- MessageBox.Show(this, "Debe llenar todos los campos.", "Registro Estudiante", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- }
- else
- {
- estudiante = new Estudiante(nombre, apellido, Int32.Parse(codigo));
- controlDatosEstudiante.Apellido = estudiante.Apellido;
- controlDatosEstudiante.Codigo = estudiante.Codigo.ToString();
- controlDatosEstudiante.Nombre = estudiante.Nombre;
- controlDatosEstudiante.Promedio = 0.0;
- MessageBox.Show(this, "El estudiante ha sido registrado.", "Registro Estudiante", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
- catch(Exception)
- {
- MessageBox.Show(this, "El valor del código debe ser numérico.", "Registro Estudiante", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
- /// <summary>
- /// Registra un curso al pénsum del estudiante.
- /// </summary>
- public void RegistrarCurso()
- {
- // Valida que se haya creado un estudiante en el sistema:
- if (estudiante == null)
- {
- MessageBox.Show(this, "Debe ingresar un estudiante primero.", "Registro Curso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- else if (estudiante.TieneCursosCompletos())
- {
- MessageBox.Show(this, "Los cursos del estudiante están llenos.", "Registro Curso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- else
- {
- using(DialogoRegistroCurso drc = new DialogoRegistroCurso(this))
- {
- drc.ShowDialog(this);
- if (drc.DialogResult == DialogResult.OK)
- {
- if (estudiante.PensumIncluyeCurso(curso.CodigoCurso))
- {
- MessageBox.Show(this, String.Format("Un curso de {0} ya ha sido asignado.", curso.CodigoCurso), "Registro Curso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- else
- {
- estudiante.AsignarCurso(curso);
- }
- }
- }
- }
- }
- /// <summary>
- /// Determina si un curso está asignado al pénsum del estudiante actual.
- /// </summary>
- public void CursoEnPensum()
- {
- if (estudiante == null)
- {
- MessageBox.Show(this, "Debe ingresar un estudiante primero.", "Registro Curso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- else
- {
- using (DialogoCursoPensum dcp = new DialogoCursoPensum(this))
- {
- dcp.ShowDialog(this);
- if (dcp.DialogResult == System.Windows.Forms.DialogResult.OK)
- {
- if (estudiante.PensumIncluyeCurso(codigoCurso))
- {
- MessageBox.Show(this, String.Format("El curso {0} está incluido en el pénsum.", codigoCurso), "Pénsum Estudiante", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- else
- {
- MessageBox.Show(this, String.Format("El curso {0} no está incluido en el pénsum.", codigoCurso), "Pénsum Estudiante", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- }
- }
- }
- }
- /// <summary>
- /// Determina si el estudiante se haya en prueba académica.
- /// </summary>
- public void EstudianteEnPrueba()
- {
- double promedio = 0.0;
- bool estaEnPrueba = false;
- if (estudiante == null)
- {
- MessageBox.Show(this, "Debe ingresar un estudiante primero.", "Registro Curso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- else
- {
- promedio = estudiante.CalcularPromedioEstudiante();
- estaEnPrueba = estudiante.EnPrueba();
- if (promedio == 0.0)
- {
- MessageBox.Show(this, "Debe registrar al menos la nota de un curso.", "Cálculo Promedio", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- else
- {
- if (estaEnPrueba)
- {
- MessageBox.Show(this, "El estudiante se encuentra en prueba, `promedio < 3.25'.", "Información", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- else
- {
- MessageBox.Show(this, "El estudiante no se encuentra en prueba, `promedio >= 3.25'.", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
- }
- }
- /// <summary>
- /// Registra una nota a determinado curso del pénsum del estudiante.
- /// </summary>
- public void RegistrarNotaCurso()
- {
- if (estudiante == null)
- {
- MessageBox.Show(this, "Debe ingresar un estudiante primero.", "Registro Curso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- else
- {
- using (DialogoRegistroNota drn = new DialogoRegistroNota(this))
- {
- drn.ShowDialog(this);
- if (drn.DialogResult == System.Windows.Forms.DialogResult.OK)
- {
- curso.AsignarNota(nota);
- double promedio = estudiante.CalcularPromedioEstudiante();
- controlDatosEstudiante.Promedio = promedio;
- }
- }
- }
- }
- /// <summary>
- /// Ve el listado de cursos en el pénsum del estudiante.
- /// </summary>
- public void VerCursos()
- {
- if (estudiante == null)
- {
- MessageBox.Show(this, "Debe ingresar un estudiante primero.", "Registro Curso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- else
- {
- ArrayList cursosPensum = new ArrayList();
- for (int i = 1; i <= 5; ++i)
- {
- if (estudiante.BuscarCurso(i) != null)
- {
- cursosPensum.Add(estudiante.BuscarCurso(i));
- }
- }
- if (cursosPensum.Count != 0)
- {
- using (DialogoCursos dc = new DialogoCursos())
- {
- dc.CambiarListaCursos(cursosPensum);
- dc.ShowDialog(this);
- }
- }
- }
- }
- #endregion
- #region Puntos de Extensión
- /// <summary>
- /// Punto de extensión no. 1.
- /// </summary>
- public void PuntoExtension1()
- {
- if (estudiante != null)
- {
- MessageBox.Show(this, estudiante.PuntoExtension1(), "Punto de Extensión", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- else
- {
- MessageBox.Show(this, "Debe ingresar un estudiante primero.", "Punto de Extensión", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- }
- /// <summary>
- /// Punto de extensión no. 2.
- /// </summary>
- public void PuntoExtension2()
- {
- if (estudiante != null)
- {
- MessageBox.Show(this, estudiante.PuntoExtension2(), "Punto de Extensión", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- else
- {
- MessageBox.Show(this, "Debe ingresar un estudiante primero.", "Punto de Extensión", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- }
- #endregion
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement