Advertisement
Fhernd

ControlResultados.cs

Sep 18th, 2014
851
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.30 KB | None | 0 0
  1. // ===++===
  2. //
  3. //    OrtizOL
  4. //
  5. // ===--===
  6. /*============================================================
  7. //
  8. // Clase: ControlResultados.cs
  9. //
  10. // Original en: http://goo.gl/FVrf2s
  11. //
  12. // Propósito: Diseñar el control con los componentes de
  13. // de consulta de resultados de la encuesta.
  14. //
  15. ============================================================*/
  16.  
  17. using System;
  18. using System.Collections.Generic;
  19. using System.ComponentModel;
  20. using System.Drawing;
  21. using System.Data;
  22. using System.Linq;
  23. using System.Text;
  24. using System.Threading.Tasks;
  25. using System.Windows.Forms;
  26. using N1_Encuesta.Modelo;
  27.  
  28. namespace N1_Encuesta.GUI
  29. {
  30.     /// <summary>
  31.     /// Control para los resultados de la encuesta.
  32.     /// </summary>
  33.     public partial class ControlResultados : UserControl
  34.     {
  35.         #region Campos (componentes de interfaz)
  36.         /// <summary>
  37.         /// Interfaz principal de la aplicación.
  38.         /// </summary>
  39.         private Principal principal;
  40.         #endregion
  41.  
  42.         #region Constructores
  43.         /// <summary>
  44.         /// Crea una instancia con valores por defecto.
  45.         /// </summary>
  46.         /// <param name="principal">Referencia a la interfaz principal de la aplicación.</param>
  47.         public ControlResultados(Principal principal)
  48.         {
  49.             InitializeComponent();
  50.             this.principal = principal;
  51.             cbxRangoEdad.SelectedIndex = 0;
  52.             cbxEstadoCivil.SelectedIndex = 0;
  53.         }
  54.         #endregion
  55.  
  56.         #region Métodos
  57.         /// <summary>
  58.         /// Actualiza los resultados de la encuesta.
  59.         /// </summary>
  60.         public void ActualizarResultados()
  61.         {
  62.             double promedio = principal.CalcularPromedioTotal();
  63.  
  64.             lblPromedioTotalEncuesta.Text = String.Format("Promedio total encuesta: {0:N2}", promedio);
  65.             lblNumeroOpiniones.Text = String.Format("Número de opiniones: {0}", principal.CalcularNumeroTotalOpiniones().ToString());
  66.         }
  67.         #endregion
  68.  
  69.         #region Eventos
  70.         /// <summary>
  71.         /// Consulta los resultados de la encuesta.
  72.         /// </summary>
  73.         /// <param name="sender">Objeto generador del evento.</param>
  74.         /// <param name="e">Datos del evento.</param>
  75.         private void btnConsultar_Click(object sender, EventArgs e)
  76.         {
  77.             EstadoCivil estadoCivil = cbxEstadoCivil.SelectedIndex == 0 ? EstadoCivil.Casado : EstadoCivil.Soltero;
  78.             string rango = cbxRangoEdad.SelectedText;
  79.             double resultado = principal.CalcularResultadosParciales(cbxRangoEdad.SelectedIndex + 1, estadoCivil);
  80.  
  81.             string mensaje = String.Empty;
  82.  
  83.             if (!Double.IsNaN(resultado))
  84.             {
  85.                 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);
  86.             }
  87.             else
  88.             {
  89.                 mensaje = String.Format("Los participantes {0} en el rango de edad {1} no le han dado una calificación al curso.", cbxEstadoCivil.SelectedText, rango);
  90.             }            
  91.  
  92.             MessageBox.Show(this, mensaje, "Resultados Parciales", MessageBoxButtons.OK, MessageBoxIcon.Information);
  93.         }
  94.         #endregion
  95.     }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement