Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ===++===
- //
- // OrtizOL - xCSw
- //
- // Proyecto: Cupi2.NET
- //
- // ===--===
- /*============================================================
- //
- // Clase(s): Silla.
- //
- // Propósito: Implementar y representar la entidad `Silla`
- // del modelo del mundo del problema (dominio).
- //
- // Original: http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-3/avion/visualizacion-codigo/silla
- //
- ============================================================*/
- using System;
- namespace ElAvión.Modelo
- {
- /// <summary>
- /// Representa la clase `Silla` del mundo del problema.
- /// </summary>
- public class Silla
- {
- #region Campos
- /// <summary>
- /// Clase (Ejecutiva o Económica) de esta silla.
- /// </summary>
- private Clase clase;
- /// <summary>
- /// Número de la silla.
- /// </summary>
- private int numero;
- /// <summary>
- /// Pasajero asignado a esta silla.
- /// </summary>
- private Pasajero pasajero;
- /// <summary>
- /// Ubicación de la silla (`UbicacionSilla.Ventana`, `UbicacionSilla.Centro` (Sólo `Clase.Economica`), y `UbicacionSilla.Pasillo`).
- /// </summary>
- private UbicacionSilla ubicacion;
- #endregion
- #region Propiedades
- /// <summary>
- /// Recupera o modifica la clase asignada a esta silla.
- /// </summary>
- public Clase Clase
- {
- get
- {
- return clase;
- }
- set
- {
- clase = value;
- }
- }
- /// <summary>
- /// Recupera o modifica el número asignado de esta silla.
- /// </summary>
- public int Numero
- {
- get
- {
- return numero;
- }
- set
- {
- numero = value;
- }
- }
- /// <summary>
- /// Recupera o modifica el pasajero asignado a esta silla.
- /// </summary>
- public Pasajero Pasajero
- {
- get
- {
- return pasajero;
- }
- set
- {
- pasajero = value;
- }
- }
- /// <summary>
- /// Recupera o modifica la ubicación de la silla.
- /// </summary>
- public UbicacionSilla Ubicacion
- {
- get
- {
- return ubicacion;
- }
- set
- {
- ubicacion = (UbicacionSilla)value;
- }
- }
- #endregion
- #region Constructores
- /// <summary>
- /// Crea una nueva `Silla`.
- /// </summary>
- /// <param name="numero">Número de la silla.</param>
- /// <param name="clase">Clase de la silla. (`Clase.Ejecutiva` o `Clase.Economica`.)</param>
- /// <param name="ubicacion">Ubicación de la silla que desea tomar el pasajero (`UbicacionSilla.Ventana`, `UbicacionSilla.Centro` (Sólo `Clase.Economica`), y `UbicacionSilla.Pasillo`.</param>
- public Silla(int numero, Clase clase, UbicacionSilla ubicacion)
- {
- this.numero = numero;
- this.clase = clase;
- pasajero = null;
- this.ubicacion = ubicacion;
- }
- #endregion
- #region Métodos
- /// <summary>
- /// Asigna esta silla a un pasajero.
- /// </summary>
- /// <param name="pasajero">Pasajero a asignar esta silla.</param>
- public void AsignarAPasajero(Pasajero pasajero)
- {
- this.pasajero = pasajero;
- }
- /// <summary>
- /// Desasigna esta silla.
- /// </summary>
- public void DesasignarSilla()
- {
- pasajero = null;
- }
- #endregion
- /// <summary>
- /// Determina si esta silla está asignada o no.
- /// </summary>
- /// <returns>`true` si la silla está asignada, `false` en caso contrario.</returns>
- public bool SillaAsignada()
- {
- if (pasajero == null)
- {
- return false;
- }
- else
- {
- return true;
- }
- }
- /// <summary>
- /// Determina si esta silla está asignada a un determinado pasajero.
- /// </summary>
- /// <param name="pasajero">Pasajero a validar si ha tomado esta silla.</param>
- /// <returns>`true` si la silla ha asignada a este pasajero; `false` en caso contrario.</returns>
- public bool SillaAsignadaPasajero(Pasajero pasajero)
- {
- if (this.pasajero == null)
- {
- return false;
- }
- else if (this.pasajero.EsIgual(pasajero))
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement