Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ===++===
- //
- // OrtizOL
- //
- // ===--===
- /*============================================================
- //
- // Clase: Principal.cs
- //
- // Original en: http://goo.gl/Tnad2Y
- //
- //
- // Propósito: Diseñar la interfaz de usuario principal
- // de la aplicación.
- //
- ============================================================*/
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using N1_Encuesta.Modelo;
- namespace N1_Encuesta.GUI
- {
- public partial class Principal : Form
- {
- #region Campos
- /// <summary>
- /// Encuesta a realizar.
- /// </summary>
- private Encuesta encuesta;
- #endregion
- #region Campos (componentes de interfaz)
- /// <summary>
- /// Control de agregación de opiniones.
- /// </summary>
- private ControlAgregarOpinion controlAgregarOpinion;
- /// <summary>
- /// Control de visualización de resultados.
- /// </summary>
- private ControlResultados controlResultados;
- /// <summary>
- /// Control con puntos de extensión.
- /// </summary>
- private ControlExtension controlExtension;
- #endregion
- #region Constructores
- /// <summary>
- /// Crea el formulario.
- /// </summary>
- public Principal()
- {
- InitializeComponent();
- this.Icon = Properties.Resources.encuesta;
- ConfiguracionComponentes();
- encuesta = new Encuesta();
- }
- #endregion
- #region Métodos
- /// <summary>
- /// Configuración para los controles que componen la interfaz.
- /// </summary>
- private void ConfiguracionComponentes()
- {
- controlAgregarOpinion = new ControlAgregarOpinion(this);
- controlResultados = new ControlResultados(this);
- controlResultados.Location = new Point(0, 145);
- controlExtension = new ControlExtension(this);
- controlExtension.Location = new Point(0, 278);
- this.Controls.Add(controlAgregarOpinion);
- this.Controls.Add(controlExtension);
- this.Controls.Add(controlResultados);
- }
- /// <summary>
- /// Actualiza los resultados de la encuesta.
- /// </summary>
- public void ActualizarResultados()
- {
- controlResultados.ActualizarResultados();
- }
- /// <summary>
- /// Agrega una opinión.
- /// </summary>
- /// <param name="rango">ID (1, 2, o 3) del rango de edades.</param>
- /// <param name="estadoCivil">Estado civil del(/la) encuestado(a)</param>
- /// <param name="opinion"></param>
- public void AgregarOpinion(int rango, EstadoCivil estadoCivil, int opinion)
- {
- encuesta.AgregarOpinion(rango, opinion, estadoCivil);
- }
- /// <summary>
- /// Calcula el número total de opiniones de los encuestados.
- /// </summary>
- /// <returns>Total de opiniones.</returns>
- public int CalcularNumeroTotalOpiniones()
- {
- return encuesta.NumeroTotalOpiniones;
- }
- /// <summary>
- /// Calcula el promedio total de opiniones sobre número de encuestados.
- /// </summary>
- /// <returns>Promedio total.</returns>
- public double CalcularPromedioTotal()
- {
- return encuesta.CalcularPromedio();
- }
- /// <summary>
- /// Calcula promedio parcial para un grupo específico.
- /// </summary>
- /// <param name="idRango">ID (1, 2, ó 3) del rango.</param>
- /// <param name="estadoCivil">Estado civil del encuestado.</param>
- /// <returns>Promedio parcial.</returns>
- public double CalcularResultadosParciales(int idRango, EstadoCivil estadoCivil)
- {
- return encuesta.MostrarResultado(idRango, estadoCivil);
- }
- #endregion
- #region Puntos de Extensión
- /// <summary>
- /// Activa el punto de extensión no. 1.
- /// </summary>
- public void PuntoExtension1()
- {
- MessageBox.Show(this, encuesta.Metodo1(), "Punto de Extensión", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- /// <summary>
- /// Activa el punto de extensión no. 2.
- /// </summary>
- public void PuntoExtension2()
- {
- MessageBox.Show(this, encuesta.Metodo2(), "Punto de Extensión", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- #endregion
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement