Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. // ===++===
  2. //
  3. //  OrtizOL
  4. //
  5. // ===--===
  6. /*============================================================
  7. //
  8. // Clase: Juego.cs
  9. //
  10. // Original en: http://goo.gl/YZ3QEF
  11. //
  12. // Propósito: Representar la entidad Juego.
  13. //
  14. ============================================================*/
  15.  
  16. using System;
  17.  
  18. namespace JuegosCelulares.Modelo
  19. {
  20.     /// <summary>
  21.     /// Representa un videojuego.
  22.     /// </summary>
  23.     public class Juego
  24.     {
  25.         #region Campos
  26.         /// <summary>
  27.         /// Cantidad actual del videojuego en bodega.
  28.         /// </summary>
  29.         private int cantidadActual;
  30.         /// <summary>
  31.         /// Categoría del videojuego (Acción, Aventura, Velocidad, Deporte)
  32.         /// </summary>
  33.         private CategoriaJuego categoria;
  34.         /// <summary>
  35.         /// Nombre del videojuego.
  36.         /// </summary>
  37.         private string nombre;
  38.         /// <summary>
  39.         /// Precio del videojuego.
  40.         /// </summary>
  41.         private decimal precio;
  42.         /// <summary>
  43.         /// Tamaño en KB que ocupa el videojuego.
  44.         /// </summary>
  45.         private int tamanioKB;
  46.         #endregion
  47.  
  48.         #region Propiedades
  49.         /// <summary>
  50.         /// Recupera y modifica la cantidad actual del videojuego en bodega.
  51.         /// </summary>
  52.         public int CantidadActual
  53.         {
  54.             get
  55.             {
  56.                 return cantidadActual;
  57.             }
  58.             set
  59.             {
  60.                 cantidadActual = value;
  61.             }
  62.         }
  63.         /// <summary>
  64.         /// Recupera y modifica la categoría del videojuego.
  65.         /// </summary>
  66.         public CategoriaJuego Categoria
  67.         {
  68.             get
  69.             {
  70.                 return categoria;
  71.             }
  72.             set
  73.             {
  74.                 categoria = value;
  75.             }
  76.         }
  77.         /// <summary>
  78.         /// Recupera y modifica el nombre del videojuego.
  79.         /// </summary>
  80.         public string Nombre
  81.         {
  82.             get
  83.             {
  84.                 return nombre;
  85.             }
  86.             set
  87.             {
  88.                 nombre = value;
  89.             }
  90.         }
  91.         /// <summary>
  92.         /// Recupera y modifica el precio del videojuego.
  93.         /// </summary>
  94.         public decimal Precio
  95.         {
  96.             get
  97.             {
  98.                 return precio;
  99.             }
  100.             set
  101.             {
  102.                 precio = value;
  103.             }
  104.         }
  105.         /// <summary>
  106.         /// Recupera y modifica el tamaño en KB del videojuego.
  107.         /// </summary>
  108.         public int TamanioKB
  109.         {
  110.             get
  111.             {
  112.                 return tamanioKB;
  113.             }
  114.             set
  115.             {
  116.                 tamanioKB = value;
  117.             }
  118.         }
  119.         #endregion
  120.  
  121.         #region Constructores
  122.         /// <summary>
  123.         /// Crea una instancia de Juego.
  124.         /// </summary>
  125.         /// <param name="nombre">Nombre del videojuego.</param>
  126.         /// <param name="categoria">Catego</param>
  127.         /// <param name="precio">Categoría del videojuego (Acción, Aventura, Velocidad, Deporte)</param>
  128.         /// <param name="tamanioKB">Tamaño en KB del videojuego.</param>
  129.         /// <param name="cantidad">Cantidad de unidades del videojuego en bodega.</param>
  130.         public Juego(string nombre, CategoriaJuego categoria, decimal precio, int tamanioKB, int cantidad)
  131.         {
  132.             this.nombre = nombre;
  133.             this.categoria = categoria;
  134.             this.precio = precio;
  135.             this.tamanioKB = tamanioKB;
  136.             this.cantidadActual = cantidad;
  137.         }
  138.         #endregion
  139.  
  140.         #region Métodos
  141.         /// <summary>
  142.         /// Compra un juego y dispone las unidades en la bodega.
  143.         /// </summary>
  144.         /// <param name="cantidad">Cantidad de unidades a comprar.</param>
  145.         public void ComprarJuego(int cantidad)
  146.         {
  147.             cantidadActual += cantidad;
  148.         }
  149.         /// <summary>
  150.         /// Vende un juego y extrae las unidades desde la bodega.
  151.         /// </summary>
  152.         /// <param name="cantidad">Cantidad de unidades a vender.</param>
  153.         public void VenderJuego(int cantidad)
  154.         {
  155.             cantidadActual -= cantidad;
  156.         }
  157.         #endregion
  158.     }
  159. }