private void btbReiniciaVotaciones_Click(object sender, EventArgs e)
        {//metodo que reinicia las botaciones, dejando a los candidatos sin votos
            VotacionesCL    oVotacionesVl = new VotacionesCL();
            List <Votacion> votos         = oVotacionesVl.ObtenerVotaciones();

            for (int i = 0; i < votos.Count; i++)
            {
                oVotacionesVl.EliminarVotaciones(votos[i].Id);
            }
            oVotacionesVl.EliminarVotaciones(@Application.StartupPath + "\\Votos.txt");
        }
Ejemplo n.º 2
0
        private void creaGrafico()
        {
            //metodo que define los diferentes atributos del grafico y los muestra
            CandidatosCL     oCandidatoCl    = new CandidatosCL();
            List <Candidato> candidatos      = oCandidatoCl.ObtenerCandidato();
            List <string>    nombresPartidos = new List <string> {
            };

            nombresPartidos.Add("Nulo");
            List <Int32> votos = new List <int> {
            };

            votos.Add(0);
            for (int i = 0; i < candidatos.Count(); i++)
            {
                nombresPartidos.Add(candidatos[i].Partidos);
                votos.Add(0);
            }
            VotacionesCL    oVotacionesCl = new VotacionesCL();
            List <Votacion> votacion      = new List <Votacion> {
            };

            votacion = oVotacionesCl.ObtenerVotaciones();
            for (int i = 0; i < votacion.Count(); i++)
            {
                for (int j = 0; j < nombresPartidos.Count; j++)
                {
                    if (nombresPartidos[j] == votacion[i].Id)
                    {
                        votos[j] += 1;
                    }
                }
            }

            this.chtGrafico.Palette = ChartColorPalette.EarthTones;

            // Set title.
            this.chtGrafico.Titles.Add("Elecciones Nacionales");

            // Add series.
            for (int i = 0; i < nombresPartidos.Count; i++)
            {
                // Add series.
                Series series = this.chtGrafico.Series.Add(nombresPartidos[i]);

                // Add point.
                series.Points.Add(votos[i]);
            }
        }
        private void btbVotar_Clicked(object sender, EventArgs e)
        {                                                 //metodo que realiza el voto, valida que se encuentre en un periodo activo y que su computadora
            PeriodoCL      oPeriodoCl  = new PeriodoCL(); //tenga la hora entre el periodo de votacion
            DateTime       fechaActual = DateTime.Now;
            List <Periodo> periodo     = new List <Periodo> {
            };

            periodo = oPeriodoCl.ObtenerPeriodo();
            for (int x = 0; x < periodo.Count; x++)
            {
                if (periodo[x].estado.ToUpper() == "A")
                {
                    string[]      fecha  = periodo[x].fecha.Split(' ');
                    string        dia    = fecha[1];
                    string        mes2   = fecha[3];
                    string        año    = fecha[5];
                    string        Inicio = periodo[x].horaInicio;
                    string        Fin    = periodo[x].horaFinal;
                    int           mes    = 0;
                    List <string> meses  = new List <string> {
                        "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"
                    };
                    for (int y = 0; y < meses.Count; y++)
                    {
                        if (meses[y] == mes2.ToLower())
                        {
                            mes = y + 1;
                        }
                    }
                    if (mes < 10)
                    {
                        mes2 = "0" + mes;
                    }
                    else
                    {
                        mes2 = "" + mes;
                    }
                    CultureInfo    culture;
                    DateTimeStyles styles;
                    DateTime       FechaInicio;

                    // Parse a date and time with no styles.
                    culture = CultureInfo.CreateSpecificCulture("en-US");
                    styles  = DateTimeStyles.None;
                    string AMoPM = Inicio.Remove(0, 9);
                    AMoPM = AMoPM.Remove(1, 3);
                    if (AMoPM.ToLower() == "a")
                    {
                        AMoPM = "AM";
                    }
                    else
                    {
                        AMoPM = "PM";
                    }
                    string temp = mes2 + "/" + dia + "/" + año + " " + Inicio.Remove(8, 5) + " " + AMoPM;
                    if (DateTime.TryParse(temp, culture, styles, out FechaInicio))
                    {
                        Console.WriteLine("{0} converted to {1} {2}.", temp, FechaInicio, FechaInicio.Kind);
                    }
                    DateTime fechaFin;
                    // Parse a date and time with no styles.
                    culture = CultureInfo.CreateSpecificCulture("en-US");
                    styles  = DateTimeStyles.None;
                    AMoPM   = Fin.Remove(0, 9);
                    AMoPM   = AMoPM.Remove(1, 3);
                    if (AMoPM.ToLower() == "a")
                    {
                        AMoPM = "AM";
                    }
                    else
                    {
                        AMoPM = "PM";
                    }
                    temp = mes2 + "/" + dia + "/" + año + " " + Fin.Remove(8, 5) + " " + AMoPM;
                    if (DateTime.TryParse(temp, culture, styles, out fechaFin))
                    {
                        Console.WriteLine("{0} converted to {1} {2}.", temp, fechaFin, fechaFin.Kind);
                    }
                    if (fechaActual >= FechaInicio && fechaActual <= fechaFin)
                    {
                        int cont     = 0;
                        int posicion = 0;
                        for (int i = 0; i < partidos.Count(); i++)
                        {
                            if (valor[i] == 1)
                            {
                                cont++;
                                posicion = i;
                            }
                        }
                        if (cont == 1)
                        {
                            VotacionesCL oVotacionesCL = new VotacionesCL();
                            oVotacionesCL.AgregarVotaciones(partidos[posicion], Convert.ToString(valor[posicion]));

                            if (oVotacionesCL.IsError)
                            {
                                MessageBox.Show(oVotacionesCL.ErrorDescripcion, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                            else
                            {
                                MessageBox.Show("Voto agregado con éxito", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                            this.Close();
                        }
                        else
                        {
                            VotacionesCL oVotacionesCL = new VotacionesCL();
                            oVotacionesCL.AgregarVotaciones("Nulo", "1");

                            if (oVotacionesCL.IsError)
                            {
                                MessageBox.Show(oVotacionesCL.ErrorDescripcion, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                            else
                            {
                                MessageBox.Show("Voto agregado con éxito", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                this.Close();
                            }
                            this.Close();
                        }
                    }
                    else
                    {
                        MessageBox.Show("No se encuentra en el periodo de votación", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        this.Close();
                    }
                }
                if (x == periodo.Count - 1)
                {
                    MessageBox.Show("No se encuentra ningún periodo de votacion activo", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    this.Close();
                }
            }
            frmLogin login = new frmLogin();

            login.Show();
        }