// ===++=== // // 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 /// /// Encuesta a realizar. /// private Encuesta encuesta; #endregion #region Campos (componentes de interfaz) /// /// Control de agregación de opiniones. /// private ControlAgregarOpinion controlAgregarOpinion; /// /// Control de visualización de resultados. /// private ControlResultados controlResultados; /// /// Control con puntos de extensión. /// private ControlExtension controlExtension; #endregion #region Constructores /// /// Crea el formulario. /// public Principal() { InitializeComponent(); this.Icon = Properties.Resources.encuesta; ConfiguracionComponentes(); encuesta = new Encuesta(); } #endregion #region Métodos /// /// Configuración para los controles que componen la interfaz. /// 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); } /// /// Actualiza los resultados de la encuesta. /// public void ActualizarResultados() { controlResultados.ActualizarResultados(); } /// /// Agrega una opinión. /// /// ID (1, 2, o 3) del rango de edades. /// Estado civil del(/la) encuestado(a) /// public void AgregarOpinion(int rango, EstadoCivil estadoCivil, int opinion) { encuesta.AgregarOpinion(rango, opinion, estadoCivil); } /// /// Calcula el número total de opiniones de los encuestados. /// /// Total de opiniones. public int CalcularNumeroTotalOpiniones() { return encuesta.NumeroTotalOpiniones; } /// /// Calcula el promedio total de opiniones sobre número de encuestados. /// /// Promedio total. public double CalcularPromedioTotal() { return encuesta.CalcularPromedio(); } /// /// Calcula promedio parcial para un grupo específico. /// /// ID (1, 2, ó 3) del rango. /// Estado civil del encuestado. /// Promedio parcial. public double CalcularResultadosParciales(int idRango, EstadoCivil estadoCivil) { return encuesta.MostrarResultado(idRango, estadoCivil); } #endregion #region Puntos de Extensión /// /// Activa el punto de extensión no. 1. /// public void PuntoExtension1() { MessageBox.Show(this, encuesta.Metodo1(), "Punto de Extensión", MessageBoxButtons.OK, MessageBoxIcon.Information); } /// /// Activa el punto de extensión no. 2. /// public void PuntoExtension2() { MessageBox.Show(this, encuesta.Metodo2(), "Punto de Extensión", MessageBoxButtons.OK, MessageBoxIcon.Information); } #endregion } }