private void eliminarCandidatoToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            //metodo que elimina la fila seleccionada
            if (DialogResult.Yes == MessageBox.Show("Desea eliminar el registro seleccionado",
                "Eliminar",
                MessageBoxButtons.YesNo, MessageBoxIcon.Question))
            {
                if (dtgCandidatos.SelectedRows.Count > 0)
                {
                    Candidato candidatos = (Candidato)dtgCandidatos.SelectedRows[0].DataBoundItem;
                    CandidatosCL oCandidatoCl = new CandidatosCL();

                    oCandidatoCl.EliminarCandidatos(candidatos.Candidatos);
                    if (oCandidatoCl.IsError)
                    {

                        MessageBox.Show(oCandidatoCl.ErrorDescripcion, "Error", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    }
                    else
                    {
                        this.TraerDatos();

                    }

                }
            }
        }
        private void btnBuscar_Click(object sender, EventArgs e)
        {
            //metodo que realiza una busqueda y actualiza la tabla con los datos encontrados
            CandidatosCL oCandidatoCl = new CandidatosCL();

            List<Candidato> Candidato = oCandidatoCl.ObtenerCandidato();
            Candidato = Candidato.Where(x => x.Candidatos.Contains(txtBuscar.Text)).ToList();
            dtgCandidatos.DataSource = Candidato;

            if (oCandidatoCl.IsError)
            {
                MessageBox.Show(oCandidatoCl.ErrorDescripcion, "Error", MessageBoxButtons.OK, MessageBoxIcon.Stop);
            }
        }
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            //botom que envia datos para que sean agregados
            CandidatosCL oCandidatoCL = new CandidatosCL();
            oCandidatoCL.AgregarCandidato(txtPartido.Text, txtCandidato.Text, ruta());
            if (oCandidatoCL.IsError)
            {
                MessageBox.Show(oCandidatoCL.ErrorDescripcion, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                MessageBox.Show("Candidato agregado con éxito", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

            txtPartido.ResetText();
            txtCandidato.ResetText();
            this.Close();
        }
        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 btnOk_Click_1(object sender, EventArgs e)
        {
            //metodo que valida si el usuario tiene derechos a entrar como administrador o como
            //votante, o si fuera el caso denegarle el acceso por falta de permisos
            bool valor = false;
            VotantesCL oVotantesCl = new VotantesCL();
            if (txtUser.Text == "admin" && txtPass.Text == "12345")
            {
                MessageBox.Show("Gracias por ingresar", "Información", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                frmDashBoard oDashBoard = new frmDashBoard();
                oDashBoard.Show();
                valor = true;
                this.Hide();
            }

            for (int i = 0; i < oVotantesCl.ObtenerVotante().Count(); i++)
            {
                if (txtUser.Text == oVotantesCl.ObtenerVotante()[i].Usuario && txtPass.Text == oVotantesCl.ObtenerVotante()[i].Contraseña)
                {
                    string contraseña = oVotantesCl.ObtenerVotante()[i].Contraseña.Substring(oVotantesCl.ObtenerVotante()[i].Contraseña.Length - 1);
                    string contraseñaCompletaVoto = oVotantesCl.ObtenerVotante()[i].Contraseña.Substring(0, oVotantesCl.ObtenerVotante()[i].Contraseña.Length - 1) + "1";
                    if (contraseña == "0")
                    {
                        MessageBox.Show("Gracias por ingresar", "Información", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        oVotantesCl.EditarVotantes(oVotantesCl.ObtenerVotante()[i].Usuario, contraseñaCompletaVoto);
                        CandidatosCL oCandidatosCl = new CandidatosCL();
                        frmVotar Votar = new frmVotar(oCandidatosCl.ObtenerCandidato());
                        Votar.Show();
                        valor = true;
                        this.Hide();
                    }
                    else
                    {
                        MessageBox.Show("El usuario ingresado ya ejercio su voto", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            if (!valor)
            {
                MessageBox.Show("Usuario y clave erróneas", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void TraerDatos()
        {
            //metodo que obtiene datos de una instancia
            CandidatosCL oCandidatoCl = new CandidatosCL();
            dtgCandidatos.DataSource = oCandidatoCl.ObtenerCandidato();

            if (oCandidatoCl.IsError)
            {
                MessageBox.Show(oCandidatoCl.ErrorDescripcion, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }