Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ===++===
- //
- // OrtizOL - xCSw
- //
- // Proyecto: Cupi2.NET
- //
- // ===--===
- /*============================================================
- //
- // Clase(s): DialogoRegistrarPasajero.
- //
- // Propósito: Represntar diálogo de registro de pasajero.
- //
- // Original: http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-3/avion/visualizacion-codigo/dialogoasignacion
- //
- ============================================================*/
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using ElAvión.Modelo;
- namespace ElAvión.GUI
- {
- /// <summary>
- /// Clase que representa el diálogo de captura del registro del pasajero.
- /// </summary>
- public partial class DialogoRegistrarPasajero : Form
- {
- #region Componentes
- /// <summary>
- /// Instancia de referencia de la interfaz de usuario principal.
- /// </summary>
- private Principal ventanaPrincipal;
- #endregion
- #region Campos
- /// <summary>
- /// Instancia de referencia del objeto `Avion` principal.
- /// </summary>
- private Avion m_avion;
- #endregion
- #region Constructores
- /// <summary>
- /// Crea un nuevo diálogo de captura del registro de un pasajero.
- /// </summary>
- /// <param name="principal">Referencia de la interfaz de usuario principal.</param>
- /// <param name="avion">Referencia al objeto `Avión` principal.</param>
- public DialogoRegistrarPasajero(Principal principal, Avion avion)
- {
- InitializeComponent();
- this.m_avion = avion;
- this.ventanaPrincipal = principal;
- }
- #endregion
- #region Eventos.
- /// <summary>
- /// Activa la validación e ingreso de los datos del passajero.
- /// </summary>
- /// <param name="sender">Generador del evento.</param>
- /// <param name="e">Argumentos del evento.</param>
- private void txtAceptar_Click(object sender, EventArgs e)
- {
- Int64 numeroCedula;
- if (Int64.TryParse(txtCedula.Text, out numeroCedula))
- {
- if(txtNombre.Text.Length > 0)
- {
- Pasajero pasajero = new Pasajero(numeroCedula, txtNombre.Text);
- Silla sillaUsada = m_avion.BuscarPasajero(pasajero);
- // Valida que el pasajero no ha ocupado una silla:
- if (sillaUsada != null)
- {
- MessageBox.Show(this, "El pasajero ya tiene una silla asignada.", "Error Asignación Pasajero", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- else
- {
- Clase clase = (Clase)cbxClase.SelectedIndex + 1;
- UbicacionSilla ubicacion = 0;
- //***
- if (clase == Clase.Economica)
- {
- switch(cbxUbicacion.SelectedIndex)
- {
- case 0:
- ubicacion = UbicacionSilla.Ventana;
- break;
- case 1:
- ubicacion = UbicacionSilla.Central;
- break;
- case 2:
- ubicacion = UbicacionSilla.Pasillo;
- break;
- }
- }
- else
- {
- switch(cbxUbicacion.SelectedIndex)
- {
- case 0:
- ubicacion = UbicacionSilla.Ventana;
- break;
- case 1:
- ubicacion = UbicacionSilla.Pasillo;
- break;
- }
- }
- Silla silla = m_avion.AsignarSilla(clase, ubicacion, pasajero);
- if (silla == null)
- {
- MessageBox.Show(this, "No hay sillas con dichas características.", "Error Número Cédula", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- else
- {
- ventanaPrincipal.Actualizar();
- this.DialogResult = System.Windows.Forms.DialogResult.OK;
- }
- }
- }
- else
- {
- MessageBox.Show(this, "Introduzca su nombre.", "Error Nombre", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
- else
- {
- MessageBox.Show(this, "El valor de cédula no es válido. Intente de nuevo.", "Error Número Cédula", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
- /// <summary>
- /// Activa la cancelación del registro del pasajero.
- /// </summary>
- /// <param name="sender">Generador del evento.</param>
- /// <param name="e">Argumentos del evento.</param>
- private void txtCancelar_Click(object sender, EventArgs e)
- {
- this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
- }
- /// <summary>
- /// Detecta cambios en la selección de la clase y la adaptación del contenido del tipo de silla.
- /// </summary>
- /// <param name="sender">Generador del evento.</param>
- /// <param name="e">Argumentos del evento.</param>
- private void cbxClase_SelectedIndexChanged(object sender, EventArgs e)
- {
- cbxUbicacion.Enabled = true;
- if (cbxClase.SelectedIndex == 1)
- {
- cbxUbicacion.Items.Clear();
- cbxUbicacion.Items.Add("Ventana");
- cbxUbicacion.Items.Add("Pasillo");
- }
- else if (cbxClase.SelectedIndex == 0)
- {
- cbxUbicacion.Items.Clear();
- cbxUbicacion.Items.Add("Ventana");
- cbxUbicacion.Items.Add("Centro");
- cbxUbicacion.Items.Add("Pasillo");
- }
- }
- #endregion
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement