Advertisement
Fhernd

Principal.cs

Jul 14th, 2015
1,136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.36 KB | None | 0 0
  1. // ===++===
  2. //
  3. //    OrtizOL - xCSw
  4. //
  5. //  Proyecto: Cupi2.NET
  6. //
  7. // ===--===
  8. /*============================================================
  9. //
  10. // Clase(s): `Principal`
  11. //
  12. // Propósito: Implementar y representar el formulario
  13. // principal de la aplicación.
  14. //
  15. // Original: http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-3/tienda-de-libros/visualizacion-codigo/interfaztiendalibros
  16. //
  17. ============================================================*/
  18.  
  19. using System.Drawing;
  20. using System.Windows.Forms;
  21. using N3_TiendaLibros.Modelo;
  22.  
  23. namespace N3_TiendaLibros.GUI
  24. {
  25.     /// <summary>
  26.     /// Clase que presenta la ventana (formulario) principal de la aplicación.
  27.     /// </summary>
  28.     public partial class Principal : Form
  29.     {
  30.         #region Controles
  31.         /// <summary>
  32.         /// Control de adición de libro.
  33.         /// </summary>
  34.         private ControlAdicionarLibro ctlAdicionarLibro;
  35.         /// <summary>
  36.         /// Control visual del carrito de compras.
  37.         /// </summary>
  38.         private ControlCarrito ctlCarrito;
  39.         /// <summary>
  40.         /// Control del catálogo de libros a la venta.
  41.         /// </summary>
  42.         private ControlCatalogo ctlCatalogo;
  43.         #endregion
  44.  
  45.         #region Campos
  46.         /// <summary>
  47.         /// Carrito de compra.
  48.         /// </summary>
  49.         private CarroCompras carrito;
  50.         /// <summary>
  51.         /// Tienda de libros.
  52.         /// </summary>
  53.         private TiendaLibros tienda;
  54.         #endregion
  55.  
  56.         #region Constructores:
  57.         /// <summary>
  58.         /// Crea la ventana principal de la aplicación.
  59.         /// </summary>
  60.         public Principal()
  61.         {
  62.             InitializeComponent();
  63.  
  64.             // Creación de entidades:
  65.             tienda = new TiendaLibros();
  66.             carrito = tienda.Carrito;
  67.  
  68.             // Creación de controles:
  69.  
  70.             ctlAdicionarLibro = new ControlAdicionarLibro(this);
  71.             ctlAdicionarLibro.Location = new Point(0, 0);
  72.             this.Controls.Add(ctlAdicionarLibro);
  73.  
  74.             ctlCatalogo = new ControlCatalogo(this);
  75.             ctlCatalogo.Location = new Point(3, 35);
  76.             this.Controls.Add(ctlCatalogo);
  77.  
  78.             ctlCarrito = new ControlCarrito();
  79.             ctlCarrito.Location = new Point(3, 250);
  80.             this.Controls.Add(ctlCarrito);
  81.         }
  82.         #endregion
  83.  
  84.         #region Métodos
  85.         /// <summary>
  86.         /// Adiciona un nuevo libro al carrito de compras.
  87.         /// </summary>
  88.         /// <param name="isbn">ISBN del libro a adicionar.</param>
  89.         /// <param name="cantidad">Cantidad del libro a comprar.</param>
  90.         public void AdicionarCompra(string isbn, int cantidad)
  91.         {
  92.             Libro libro = tienda.BuscarLibro(isbn);
  93.             carrito.AdicionarCompra(libro, cantidad);
  94.  
  95.             ctlCarrito.AdicionarLibroCarrito(libro, cantidad);
  96.         }
  97.         /// <summary>
  98.         /// Adicionar un nuevo libro al catálogo.
  99.         /// </summary>
  100.         /// <param name="isbn">ISBN del libro.</param>
  101.         /// <param name="titulo">Título del libro.</param>
  102.         /// <param name="precio">Precio del libro.</param>
  103.         public void AdicionarLibro(string isbn, string titulo, decimal precio)
  104.         {
  105.             Libro nuevoLibro = new Libro(isbn, titulo, precio);
  106.             tienda.AdicionarLibroCatalogo(nuevoLibro);
  107.             ctlCatalogo.AgregarLibroCatalogo(nuevoLibro);
  108.         }
  109.         /// <summary>
  110.         /// Determina si el libro ya existe en la tienda.
  111.         /// </summary>
  112.         /// <param name="isbn">ISBN del libro.</param>
  113.         /// <returns><em>true</em> si el libro ya existe, <em>false</em> en caso contrario.</returns>
  114.         public bool ExisteLibro(string isbn)
  115.         {
  116.             Libro libroEncontrado = tienda.BuscarLibro(isbn);
  117.  
  118.             return libroEncontrado != null ? true : false;
  119.         }
  120.         #endregion
  121.  
  122.         #region Puntos de extensión.
  123.         public void PuntoExtension1()
  124.         {
  125.             MessageBox.Show(this, tienda.MetodoExtension1(), "Opción 1", MessageBoxButtons.OK, MessageBoxIcon.Information);
  126.         }
  127.         public void PuntoExtension2()
  128.         {
  129.             MessageBox.Show(this, tienda.MetodoExtension2(), "Opción 1", MessageBoxButtons.OK, MessageBoxIcon.Information);
  130.         }
  131.         #endregion
  132.     }
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement