Created
July 2, 2015 16:45
-
-
Save Fhernd/549da3036eca4142e6a3 to your computer and use it in GitHub Desktop.
Clase `Silla`.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ===++=== | |
// | |
// 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; | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment