Skip to content

Instantly share code, notes, and snippets.

@Fhernd
Created June 16, 2014 19:45
Show Gist options
  • Save Fhernd/094b9e7e252241f6cee7 to your computer and use it in GitHub Desktop.
Save Fhernd/094b9e7e252241f6cee7 to your computer and use it in GitHub Desktop.
Control con los componentes para la visualización de los resultados de la encuesta. En C#.
// ===++===
//
// OrtizOL
//
// ===--===
/*============================================================
//
// Clase: ControlResultados.cs
//
// Original en: http://goo.gl/FVrf2s
//
// Propósito: Diseñar el control con los componentes de
// de consulta de resultados de la encuesta.
//
============================================================*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using N1_Encuesta.Modelo;
namespace N1_Encuesta.GUI
{
/// <summary>
/// Control para los resultados de la encuesta.
/// </summary>
public partial class ControlResultados : UserControl
{
#region Campos (componentes de interfaz)
/// <summary>
/// Interfaz principal de la aplicación.
/// </summary>
private Principal principal;
#endregion
#region Constructores
/// <summary>
/// Crea una instancia con valores por defecto.
/// </summary>
/// <param name="principal">Referencia a la interfaz principal de la aplicación.</param>
public ControlResultados(Principal principal)
{
InitializeComponent();
this.principal = principal;
cbxRangoEdad.SelectedIndex = 0;
cbxEstadoCivil.SelectedIndex = 0;
}
#endregion
#region Métodos
/// <summary>
/// Actualiza los resultados de la encuesta.
/// </summary>
public void ActualizarResultados()
{
double promedio = principal.CalcularPromedioTotal();
lblPromedioTotalEncuesta.Text = String.Format("Promedio total encuesta: {0:N2}", promedio);
lblNumeroOpiniones.Text = String.Format("Número de opiniones: {0}", principal.CalcularNumeroTotalOpiniones().ToString());
}
#endregion
#region Eventos
/// <summary>
/// Consulta los resultados de la encuesta.
/// </summary>
/// <param name="sender">Objeto generador del evento.</param>
/// <param name="e">Datos del evento.</param>
private void btnConsultar_Click(object sender, EventArgs e)
{
EstadoCivil estadoCivil = cbxEstadoCivil.SelectedIndex == 0 ? EstadoCivil.Casado : EstadoCivil.Soltero;
string rango = cbxRangoEdad.SelectedText;
double resultado = principal.CalcularResultadosParciales(cbxRangoEdad.SelectedIndex + 1, estadoCivil);
string mensaje = String.Empty;
if (!Double.IsNaN(resultado))
{
mensaje = String.Format("Los participantes {0} en el rango de edad {1} le dieron una calificación al curso de {2:N2} puntos.", cbxEstadoCivil.SelectedText, rango, resultado);
}
else
{
mensaje = String.Format("Los participantes {0} en el rango de edad {1} no le han dado una calificación al curso.", cbxEstadoCivil.SelectedText, rango);
}
MessageBox.Show(this, mensaje, "Resultados Parciales", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
#endregion
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment