public IEnumerable <VoterInfoComelec> IterateAll2()
        {
            MySqlCommand cmd = new MySqlCommand(_queryAll, _dbClientRead);

            cmd.CommandTimeout = int.MaxValue;
            MySqlDataReader dataReader = cmd.ExecuteReader();

            while (dataReader.Read())
            {
                VoterInfoComelec voterInfo = new VoterInfoComelec();
                try
                {
                    voterInfo.Lastname  = Decrypt(dataReader[0].ToString());
                    voterInfo.Firstname = Decrypt(dataReader[1].ToString());
                }
                catch (Exception)
                {
                    Console.WriteLine("Unable to read/decrypt entry!");
                    continue;
                }
                try
                {
                    voterInfo.Maternalname = Decrypt(dataReader[2].ToString());
                    voterInfo.Sex          = dataReader[3].ToString();
                    voterInfo.CivilStatus  = dataReader[4].ToString();
                    voterInfo.Address      = dataReader[5].ToString();
                }
                catch (Exception)
                {
                    Console.WriteLine("Unable to set other info for {0}, {1} - {2}", voterInfo.Lastname, voterInfo.Firstname, voterInfo.Maternalname);
                }

                try
                {
                    string bdayYear  = Decrypt(dataReader[6].ToString());
                    string bdayMonth = Decrypt(dataReader[7].ToString());
                    string bdayDay   = Decrypt(dataReader[8].ToString());

                    voterInfo.DateOfBirth = new DateTime(
                        Convert.ToInt32(bdayYear),
                        Convert.ToInt32(bdayMonth),
                        Convert.ToInt32(bdayDay)
                        );
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Unable to set birthday for {0}, {1} - {2}", voterInfo.Lastname, voterInfo.Firstname, voterInfo.Maternalname);
                }


                yield return(voterInfo);
            }

            dataReader.Close();
        }
        public List <VoterInfoComelec> SearchData(string inFirstName, string inMaternalName, string inLastName)
        {
            List <VoterInfoComelec> retList = new List <VoterInfoComelec>();
            string qryFirstName             = string.IsNullOrEmpty(inFirstName) ? "FIRSTNAME" : string.Format("'{0}'", Encrypt(inFirstName.ToUpper()));
            string qryMaternalName          = string.IsNullOrEmpty(inMaternalName) ? "MATERNALNAME" : string.Format("'{0}'", Encrypt(inMaternalName.ToUpper()));
            string qryLastName = string.IsNullOrEmpty(inLastName) ? "LASTNAME" : string.Format("'{0}'", Encrypt(inLastName.ToUpper()));
            string querySearch = string.Format(_querySearch, qryFirstName, qryMaternalName, qryLastName);

            MySqlCommand    cmd        = new MySqlCommand(querySearch, _dbClientRead);
            MySqlDataReader dataReader = cmd.ExecuteReader();

            while (dataReader.Read())
            {
                VoterInfoComelec voterInfo = new VoterInfoComelec();
                voterInfo.Lastname     = Decrypt(dataReader[0].ToString());
                voterInfo.Firstname    = Decrypt(dataReader[1].ToString());
                voterInfo.Maternalname = Decrypt(dataReader[2].ToString());

                voterInfo.Sex         = dataReader[3].ToString();
                voterInfo.CivilStatus = dataReader[4].ToString();
                voterInfo.Address     = dataReader[5].ToString();

                string bdayYear  = Decrypt(dataReader[6].ToString());
                string bdayMonth = Decrypt(dataReader[7].ToString());
                string bdayDay   = Decrypt(dataReader[8].ToString());

                voterInfo.DateOfBirth = new DateTime(
                    Convert.ToInt32(bdayYear),
                    Convert.ToInt32(bdayMonth),
                    Convert.ToInt32(bdayDay)
                    );


                retList.Add(voterInfo);
            }

            return(retList);
        }
        public IEnumerable <VoterInfoComelec> SearchDataIterator(string inFirstName, string inMaternalName, string inLastName)
        {
            string qryFirstName    = string.IsNullOrEmpty(inFirstName) ? "FIRSTNAME" : string.Format("'{0}'", Encrypt(inFirstName.ToUpper()));
            string qryMaternalName = string.IsNullOrEmpty(inMaternalName) ? "MATERNALNAME" : string.Format("'{0}'", Encrypt(inMaternalName.ToUpper()));
            string qryLastName     = string.IsNullOrEmpty(inLastName) ? "LASTNAME" : string.Format("'{0}'", Encrypt(inLastName.ToUpper()));
            string querySearch     = string.Format(_querySearch, qryFirstName, qryMaternalName, qryLastName);

            MySqlCommand    cmd        = new MySqlCommand(querySearch, _dbClientRead);
            MySqlDataReader dataReader = cmd.ExecuteReader();

            while (dataReader.Read())
            {
                VoterInfoComelec voterInfo = new VoterInfoComelec();
                voterInfo.Lastname     = Decrypt(dataReader[0].ToString());
                voterInfo.Firstname    = Decrypt(dataReader[1].ToString());
                voterInfo.Maternalname = Decrypt(dataReader[2].ToString());

                voterInfo.Sex         = dataReader[3].ToString();
                voterInfo.CivilStatus = dataReader[4].ToString();
                voterInfo.Address     = dataReader[5].ToString();

                string bdayYear  = Decrypt(dataReader[6].ToString());
                string bdayMonth = Decrypt(dataReader[7].ToString());
                string bdayDay   = Decrypt(dataReader[8].ToString());

                voterInfo.DateOfBirth = new DateTime(
                    Convert.ToInt32(bdayYear),
                    Convert.ToInt32(bdayMonth),
                    Convert.ToInt32(bdayDay)
                    );


                yield return(voterInfo);
            }

            dataReader.Close();
            Console.WriteLine("Closed Connection");
        }