Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ===++===
- //
- // OrtizOL
- //
- // ===--===
- /*============================================================
- //
- // Clase: Principal.cs
- //
- // Original en: http://goo.gl/AyDi19
- //
- // Propósito: Ventana principal de la aplicación.
- //
- ============================================================*/
- using System;
- using System.Collections;
- using System.ComponentModel;
- using System.Drawing;
- using System.Windows.Forms;
- using JuegosCelulares.Modelo;
- namespace JuegosCelulares.GUI
- {
- public partial class Principal : Form
- {
- #region Controles
- /// <summary>
- /// Control para los puntos de extensión.
- /// </summary>
- private ControlExtension controlExtension;
- /// <summary>
- /// Control para las operaciones de venta y compra de juegos.
- /// </summary>
- private ControlJuegos controlJuegos;
- /// <summary>
- /// Componentes para las operaciones adicionales sobre la tienda.
- /// </summary>
- private ControlOpciones controlOpciones;
- /// <summary>
- /// Control para la visualización del título de la aplicación.
- /// </summary>
- private ControlTitulo controlTitulo;
- #endregion
- #region Campos
- /// <summary>
- /// Represenenta la empresa a administrar.
- /// </summary>
- private EmpresaJuegos empresaJuegos;
- #endregion
- #region Constructores
- /// <summary>
- /// Crea una nueva aplicación para la administración de la empresa.
- /// </summary>
- public Principal()
- {
- InitializeComponent();
- this.Icon = Properties.Resources.smartphone;
- empresaJuegos = new EmpresaJuegos();
- ConfiguracionComponentes();
- }
- #endregion
- #region Mëtodos
- /// <summary>
- /// Configura los componentes integrales de la ventana principal.
- /// </summary>
- private void ConfiguracionComponentes()
- {
- controlTitulo = new ControlTitulo();
- // Conjunto de juegos para el control de juegos:
- ArrayList nombresJuegos = new ArrayList();
- nombresJuegos.Add(EmpresaJuegos.NOMBRE_JUEGO1);
- nombresJuegos.Add(EmpresaJuegos.NOMBRE_JUEGO2);
- nombresJuegos.Add(EmpresaJuegos.NOMBRE_JUEGO3);
- nombresJuegos.Add(EmpresaJuegos.NOMBRE_JUEGO4);
- controlJuegos = new ControlJuegos(this, nombresJuegos);
- controlJuegos.Location = new Point(0, 150);
- CambiarJuegoSeleccionado((string)nombresJuegos[0]);
- controlOpciones = new ControlOpciones(this);
- controlOpciones.Location = new Point(379, 150);
- controlExtension = new ControlExtension(this);
- controlExtension.Location = new Point(0, 450);
- this.Controls.Add(controlTitulo);
- this.Controls.Add(controlJuegos);
- this.Controls.Add(controlOpciones);
- this.Controls.Add(controlExtension);
- }
- /// <summary>
- /// Muestra el nuevo juego seleccionado.
- /// </summary>
- /// <param name="nombreJuego">Nombre del juego seleccionado.</param>
- public void CambiarJuegoSeleccionado(string nombreJuego)
- {
- controlJuegos.CambiarJuego(empresaJuegos.ObtenerJuego(nombreJuego));
- }
- /// <summary>
- /// Calcula el descuento por cantidades de los juegos a comprar.
- /// </summary>
- /// <param name="cantidadJuego1">Cantidad del juego `Car Racer 2`.</param>
- /// <param name="cantidadJuego2">Cantidad del juego `Air Attack`.</param>
- /// <param name="cantidadJuego3">Cantidad del juego `Mini Golf 2`.</param>
- /// <param name="cantidadJuego4">Cantidad del juego `Aztec Warrior`.</param>
- public void CalcularDescuento(int cantidadJuego1, int cantidadJuego2, int cantidadJuego3, int cantidadJuego4)
- {
- MessageBox.Show(this, empresaJuegos.CalcularDescuento(cantidadJuego1, cantidadJuego2, cantidadJuego3, cantidadJuego4), "Descuento", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- /// <summary>
- /// Compra un juego para la venta en la empresa.
- /// </summary>
- /// <param name="nombreJuego">Nombre del juego a comprar.</param>
- /// <param name="cantidad">Cantidad del juego a comprar.</param>
- public void ComprarJuego(string nombreJuego, int cantidad)
- {
- empresaJuegos.ComprarJuego(nombreJuego, cantidad);
- controlJuegos.CambiarJuego(empresaJuegos.ObtenerJuego(nombreJuego));
- }
- /// <summary>
- /// Muestra el juego más vendido en la empresa.
- /// </summary>
- public void MostrarMasVendido()
- {
- MessageBox.Show(this, String.Format("El juego más vendido es: {0}", empresaJuegos.ObtenerJuegoMasVendido()), "Juego Más Vendido", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- /// <summary>
- /// Obtiene la cantidad de un determinado juego.
- /// </summary>
- /// <param name="nombreJuego">Nombre del juego del que se desea conocer su cantidad.</param>
- /// <returns>Cantidad actual vendida del juego.</returns>
- public int ObtenerCantidadJuego(string nombreJuego)
- {
- return empresaJuegos.ObtenerCantidadActual(nombreJuego);
- }
- /// <summary>
- /// Determina qué juegos puede comprar de acuerdo a su cantidad y su precio.
- /// </summary>
- /// <param name="capacidad">Capacidad de memoria del dispositivo. En KB.</param>
- /// <param name="precio">Presupuesto.</param>
- /// <returns>Resumen de los juegos que puede comprar.</returns>
- public void SeleccionarJuego(decimal presupuesto, int tamagnio)
- {
- MessageBox.Show(this, empresaJuegos.SeleccionarJuego(tamagnio, presupuesto), "Recomendación", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- public bool VenderJuego(string nombreJuego, int cantidad)
- {
- if (empresaJuegos.VenderJuego(nombreJuego, cantidad))
- {
- controlJuegos.CambiarJuego(empresaJuegos.ObtenerJuego(nombreJuego));
- return true;
- }
- else
- {
- return false;
- }
- }
- #endregion
- #region Puntos de extensión
- /// <summary>
- /// Punto de extensión no. 1.
- /// </summary>
- public void PuntoExtension1()
- {
- string resultado = empresaJuegos.PuntoExtension1();
- MessageBox.Show(this, resultado, "Punto Extensión No. 1", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- /// <summary>
- /// Punto de extensión no. 2.
- /// </summary>
- public void PuntoExtension2()
- {
- string resultado = empresaJuegos.PuntoExtension2();
- MessageBox.Show(this, resultado, "Punto Extensión No. s", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- #endregion
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement