public Eleitor BuscarPorCpf(string cpf)
        {
            Eleitor eleitorEncontrado = null;

            using (TransactionScope transacao = new TransactionScope())
            using (IDbConnection connection = new SqlConnection(connectionString))
            {
                IDbCommand comando = connection.CreateCommand();
                comando.CommandText = "SELECT IDEleitor,Nome,TituloEleitoral,RG,CPF,DataNascimento,ZonaEleitoral,"
                                     + "Secao,Situacao,Votou FROM Eleitor WHERE CPF = @paramCpf";
                comando.AddParameter("paramCpf", cpf);

                connection.Open();
                IDataReader reader = comando.ExecuteReader();
                if (reader.Read())
                {

                    eleitorEncontrado = new Eleitor()
                    {
                        IdEleitor = Convert.ToInt32(reader["IDEleitor"]),
                        Nome = reader["Nome"].ToString(),
                        TituloEleitoral = Convert.ToInt64(reader["TituloEleitoral"]),
                        RG = reader["RG"].ToString(),
                        CPF = reader["CPF"].ToString(),
                        DataNascimento = Convert.ToDateTime(reader["DataNascimento"]),
                        ZonaEleitoral = Convert.ToInt32(reader["ZonaEleitoral"]),
                        Secao = reader["Secao"].ToString(),
                        Situacao = Convert.ToChar(reader["Situacao"]),
                        Votou = Convert.ToChar(reader["Votou"])
                    };
                    connection.Close();
                }
            }
            return eleitorEncontrado;
        }
 public void Inserir(Eleitor t)
 {
     if (!Eleicao.IniciarEleicao)
     {
         if (repositorio.BuscarPorRg(t.RG) == null && repositorio.BuscarPorCpf(t.CPF) == null)
         {
             repositorio.Inserir(t);
         }
     }
 }
 public void Excluir(Eleitor e)
 {
     if (!Eleicao.IniciarEleicao)
     {
         if (repositorio.BuscarPorId(e.IdEleitor) != null)
         {
             repositorio.Excluir(e);
         }
     }
 }
 public void Editar(int id, Eleitor t)
 {
     if (!Eleicao.IniciarEleicao)
     {
         if (repositorio.BuscarPorId(id) != null)
         {
             repositorio.Editar(id, t);
         }
     }
 }
 public void Inserir(Eleitor e)
 {
     using (TransactionScope transacao = new TransactionScope())
     using (IDbConnection connection = new SqlConnection(connectionString))
     {
         IDbCommand comando = connection.CreateCommand();
         comando.CommandText = "INSERT INTO Eleitor (Nome,TituloEleitoral,RG,CPF,DataNascimento,ZonaEleitoral,Secao,Situacao,Votou)"
         + "VALUES (@paramNome,@paramTitulo,@paramRg,@paramCpf,@paramData,@paramZona,@paramSecao,@paramSit,@paramVotou)";
         comando.AddParameter("paramNome", e.Nome);
         comando.AddParameter("paramTitulo", e.TituloEleitoral);
         comando.AddParameter("paramRg", e.RG);
         comando.AddParameter("paramCpf", e.CPF);
         comando.AddParameter("paramData", e.DataNascimento);
         comando.AddParameter("paramZona", e.ZonaEleitoral);
         comando.AddParameter("paramSecao", e.Secao);
         comando.AddParameter("paramSit", e.Situacao);
         comando.AddParameter("paramVotou", e.Votou);
         connection.Open();
         comando.ExecuteNonQuery();
         transacao.Complete();
         connection.Close();
     }
 }
 public void Excluir(Eleitor t)
 {
     using (TransactionScope transacao = new TransactionScope())
     using (IDbConnection connection = new SqlConnection(connectionString))
     {
         IDbCommand comando = connection.CreateCommand();
         comando.CommandText = "DELETE FROM Eleitor WHERE IDEleitor = @paramId";
         comando.AddParameter("paramId", t.IdEleitor);
         connection.Open();
         comando.ExecuteNonQuery();
         transacao.Complete();
         connection.Close();
     }
 }
        public void Editar(int id, Eleitor e)
        {
            using (TransactionScope transacao = new TransactionScope())
            using (IDbConnection connection = new SqlConnection(connectionString))
            {
                IDbCommand comando = connection.CreateCommand();
                comando.CommandText = "UPDATE Eleitor SET Nome = @paramNome, TituloEleitoral = @paramTitulo,"
                    + "RG = @paramRg, CPF = @paramCpf, DataNascimento = @paramData, ZonaEleitoral = @paramZona,"
                    + "Secao = @paramSecao, Situacao = @paramSit, Votou = @paramVotou WHERE IDEleitor = @paramId";
                comando.AddParameter("paramId", id);
                comando.AddParameter("paramNome", e.Nome);
                comando.AddParameter("paramTitulo", e.TituloEleitoral);
                comando.AddParameter("paramRg", e.RG);
                comando.AddParameter("paramCpf", e.CPF);
                comando.AddParameter("paramData", e.DataNascimento);
                comando.AddParameter("paramZona", e.ZonaEleitoral);
                comando.AddParameter("paramSecao", e.Secao);
                comando.AddParameter("paramSit", e.Situacao);
                comando.AddParameter("paramVotou", e.Votou);

                connection.Open();
                comando.ExecuteNonQuery();
                transacao.Complete();
                connection.Close();

            }
        }