Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. // ===++===
  2. //
  3. //    OrtizOL - xCSw
  4. //
  5. //  Proyecto: Cupi2.NET
  6. //
  7. // ===--===
  8. /*============================================================
  9. //
  10. // Clase(s): `DialogoAdicionarLibro`
  11. //
  12. // Propósito: Implementar y representar el diálogo de
  13. // ingreso de datos del libro.
  14. //
  15. // Original: http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-3/tienda-de-libros/visualizacion-codigo/dialogoagregarlibro
  16. //
  17. ============================================================*/
  18.  
  19. using System;
  20. using System.Windows.Forms;
  21.  
  22. namespace N3_TiendaLibros.GUI
  23. {
  24.     /// <summary>
  25.     /// Clase que representa el diálogo de adición de un libro.
  26.     /// </summary>
  27.     public partial class DialogoAdicionarLibro : Form
  28.     {
  29.         #region Controles
  30.         /// <summary>
  31.         /// Referencia la ventana principal de la aplicación.
  32.         /// </summary>
  33.         private Principal m_principal;
  34.         #endregion
  35.  
  36.         #region Constructores:
  37.         /// <summary>
  38.         /// Crea un nuevo diálogo de adición de libros.
  39.         /// </summary>
  40.         /// <param name="principal">Referencia a la ventana principal de la aplicación.</param>
  41.         public DialogoAdicionarLibro(Principal principal)
  42.         {
  43.             InitializeComponent();
  44.  
  45.             m_principal = principal;
  46.             this.ActiveControl = txtTitulo;
  47.             txtTitulo.Focus();
  48.         }
  49.         #endregion
  50.  
  51.         #region Eventos:
  52.         /// <summary>
  53.         /// Evento que valida la adición del libro.
  54.         /// </summary>
  55.         /// <param name="sender">Objeto generador del evento.</param>
  56.         /// <param name="e">Argumentos del evento.</param>
  57.         private void btnAceptar_Click(object sender, EventArgs e)
  58.         {
  59.             if (!(txtIsbn.Text.Length == 0) && !(txtTitulo.Text.Length == 0) && !(txtPrecio.Text.Length == 0))
  60.             {
  61.                 if (!(m_principal.ExisteLibro(txtIsbn.Text)))
  62.                 {
  63.                     decimal precio;
  64.                     if (Decimal.TryParse(txtPrecio.Text, out precio))
  65.                     {
  66.                         if (!(precio == 0.0M))
  67.                         {
  68.                             m_principal.AdicionarLibro(txtIsbn.Text, txtTitulo.Text, precio);
  69.                             this.DialogResult = System.Windows.Forms.DialogResult.OK;
  70.                         }
  71.                         else
  72.                         {
  73.                             MessageBox.Show(this, "El precio debe ser mayor a cero.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  74.                         }
  75.                     }
  76.                     else
  77.                     {
  78.                         MessageBox.Show(this, "El campo Precio no contiene un valor válido. (Sólo se admiten valores decimales.)", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  79.                     }
  80.                 }
  81.                 else
  82.                 {
  83.                     MessageBox.Show(this, String.Format("Ya existe un libro con el ISBN {0}.", txtIsbn.Text), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  84.                 }
  85.  
  86.             }
  87.             else
  88.             {
  89.                 MessageBox.Show(this, "Debe llenar todos los campos.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  90.             }
  91.         }
  92.         /// <summary>
  93.         /// Evento de cancelación del diálogo de adición de libro.
  94.         /// </summary>
  95.         /// <param name="sender">Objeto generador del evento.</param>
  96.         /// <param name="e">Argumentos del evento.</param>
  97.         private void btnCancelar_Click(object sender, EventArgs e)
  98.         {
  99.             this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
  100.         }
  101.         #endregion
  102.     }
  103. }