/// <summary>
        /// Metodo para buscar um dependente. Recebe como parametro o id do dependente no formato string. Retorna um objeto do tipo Dependentes.
        /// </summary>
        /// <param name="pIdDependente">String idDependente.</param>
        /// <returns>Objeto Dependentes.</returns>
        public static Dependentes GetOne(string pIdDependente)
        {
            StringBuilder sql = new StringBuilder();
            MySqlCommand  cmm = new MySqlCommand();

            cmm.Parameters.AddWithValue("@idDependente", pIdDependente);

            sql.Append("SELECT P.idPessoa, P.nome, P.email, P.nacionalidade, P.naturalidade, P.estadoNaturalidade, P.dataNascimento, P.estadoCivil,");
            sql.Append(" P.cpf, P.rg, P.tituloDeEleitor, P.zona, P.secao, P.endereco, P.numero, P.bairro, P.cidade, P.estado, P.cep, P.sexo,");
            sql.Append(" P.observacoes, D.idDependente, D.parentesco, D.idEscola, D.idAssociado ");
            sql.Append("FROM Dependentes D inner join Pessoas P ON D.idPessoa = P.idPessoa ");
            sql.Append(" WHERE idDependente = @idDependente");

            cmm.CommandText = sql.ToString();

            DataTable dt = MySQL.MySQL.MySQL.getDataTable(cmm);

            foreach (DataRow row in dt.Rows)
            {
                dependente = new Dependentes
                {
                    idPessoa           = Convert.ToInt32(row["idPessoa"]),
                    nome               = (string)row["nome"],
                    nacionalidade      = (string)row["nacionalidade"],
                    naturalidade       = (string)row["naturalidade"],
                    estadoNaturalidade = (string)row["estadoNaturalidade"],
                    dataNascimento     = (DateTime)row["dataNascimento"],
                    estadoCivil        = (string)row["estadoCivil"],
                    cpf             = (string)row["cpf"],
                    rg              = (string)row["rg"],
                    tituloDeEleitor = row.IsNull("tituloDeEleitor") ? "" : (string)row["tituloDeEleitor"],
                    zona            = row.IsNull("zona") ? "" : (string)row["zona"],
                    secao           = row.IsNull("secao") ? "" : (string)row["secao"],
                    endereco        = (string)row["endereco"],
                    numero          = (string)row["numero"],
                    bairro          = (string)row["bairro"],
                    cidade          = (string)row["cidade"],
                    estado          = (string)row["estado"],
                    cep             = (string)row["cep"],
                    sexo            = Convert.ToChar(row["sexo"]),
                    observacoes     = row.IsNull("observacoes") ? "" : (string)row["observacoes"],
                    email           = row.IsNull("email") ? "" : (string)row["email"],
                    religiao        = ReligioesRepositorio.GetOne(Convert.ToInt32(row["idPessoa"])),
                    telefones       = TelefonesRepositorio.Get(Convert.ToInt32(row["idPessoa"])),
                    idDependente    = Convert.ToInt32(row["idDependente"]),
                    associado       = AssociadosRepositorio.GetOne(Convert.ToInt32(row["idAssociado"])),
                    parentesco      = (string)row["parentesco"],
                    escola          = EscolasRepositorio.GetOne(Convert.ToInt32(row["idEscola"]))
                };
            }

            dt.Dispose();

            Dependentes dependenteTratado = DependentesUtil.ToFirstUpper(dependente);

            return(dependenteTratado);
        }
        /// <summary>
        /// Metodo para buscar um associado. Recebe como parametro o id do associado no formato string. Retorna um objeto Associados.
        /// </summary>
        /// <param name="pIdAssociado">String idAssociado.</param>
        /// <returns>Objeto Associados.</returns>
        public static Associados GetOne(string pIdAssociado)
        {
            StringBuilder sql = new StringBuilder();
            MySqlCommand  cmm = new MySqlCommand();

            cmm.Parameters.AddWithValue("@idAssociado", pIdAssociado);

            sql.Append("SELECT * ");
            sql.Append("FROM Associados A inner join Pessoas P ON A.idPessoa = P.idPessoa ");
            sql.Append(" WHERE idAssociado = @idAssociado");

            cmm.CommandText = sql.ToString();

            DataTable dt = MySQL.MySQL.MySQL.getDataTable(cmm);

            foreach (DataRow row in dt.Rows)
            {
                associado = new Associados
                {
                    idAssociado        = Convert.ToInt32(row["idAssociado"]),
                    idPessoa           = Convert.ToInt32(row["idPessoa"]),
                    nome               = (string)row["nome"],
                    nacionalidade      = (string)row["nacionalidade"],
                    naturalidade       = (string)row["naturalidade"],
                    estadoNaturalidade = (string)row["estadoNaturalidade"],
                    dataNascimento     = (DateTime)row["dataNascimento"],
                    estadoCivil        = (string)row["estadoCivil"],
                    cpf             = (string)row["cpf"],
                    rg              = (string)row["rg"],
                    tituloDeEleitor = row.IsNull("tituloDeEleitor") ? "" : (string)row["tituloDeEleitor"],
                    zona            = row.IsNull("zona") ? "" : (string)row["zona"],
                    secao           = row.IsNull("secao") ? "" : (string)row["secao"],
                    endereco        = (string)row["endereco"],
                    numero          = (string)row["numero"],
                    bairro          = (string)row["bairro"],
                    cidade          = (string)row["cidade"],
                    estado          = (string)row["estado"],
                    cep             = (string)row["cep"],
                    sexo            = Convert.ToChar(row["sexo"]),
                    observacoes     = row.IsNull("observacoes") ? "" : (string)row["observacoes"],
                    tipoResidencia  = (string)row["tipoResidencia"],
                    email           = row.IsNull("email") ? "" : (string)row["email"],
                    religiao        = ReligioesRepositorio.GetOne(Convert.ToInt32(row["idPessoa"])),
                    telefones       = TelefonesRepositorio.Get(Convert.ToInt32(row["idPessoa"])),
                    dependentes     = DependentesRepositorio.Get(Convert.ToInt32(row["idAssociado"]))
                };
            }

            dt.Dispose();

            Associados associadoTratado = AssociadosUtil.ToFirstUpper(associado);

            return(associadoTratado);
        }
        /// <summary>
        /// Metodo para buscar todos Associados cadastrados. Retorna uma lista de Associados.
        /// </summary>
        /// <returns>Lista de Associados.</returns>
        public static List <Associados> Get()
        {
            StringBuilder sql = new StringBuilder();

            sql.Append("SELECT * ");
            sql.Append("FROM pessoas P inner join associados A ON P.idPessoa = A.idPessoa ");

            List <Associados> lista = new List <Associados>();
            DataTable         dt    = MySQL.MySQL.MySQL.getDataTable(sql.ToString());

            foreach (DataRow row in dt.Rows)
            {
                lista.Add
                (
                    new Associados
                {
                    idAssociado        = Convert.ToInt32(row["idAssociado"]),
                    idPessoa           = Convert.ToInt32(row["idPessoa"]),
                    nome               = (string)row["nome"],
                    nacionalidade      = (string)row["nacionalidade"],
                    naturalidade       = (string)row["naturalidade"],
                    estadoNaturalidade = (string)row["estadoNaturalidade"],
                    dataNascimento     = (DateTime)row["dataNascimento"],
                    estadoCivil        = (string)row["estadoCivil"],
                    cpf             = (string)row["cpf"],
                    rg              = (string)row["rg"],
                    tituloDeEleitor = row.IsNull("tituloDeEleitor") ? "" : (string)row["tituloDeEleitor"],
                    zona            = row.IsNull("zona") ? "" : (string)row["zona"],
                    secao           = row.IsNull("secao") ? "" : (string)row["secao"],
                    endereco        = (string)row["endereco"],
                    numero          = (string)row["numero"],
                    bairro          = (string)row["bairro"],
                    cidade          = (string)row["cidade"],
                    estado          = (string)row["estado"],
                    cep             = (string)row["cep"],
                    sexo            = Convert.ToChar(row["sexo"]),
                    observacoes     = row.IsNull("observacoes") ? "" : (string)row["observacoes"],
                    tipoResidencia  = (string)row["tipoResidencia"],
                    email           = row.IsNull("email") ? "" : (string)row["email"],
                    religiao        = ReligioesRepositorio.GetOne(Convert.ToInt32(row["idPessoa"])),
                    telefones       = TelefonesRepositorio.Get(Convert.ToInt32(row["idPessoa"]))
                }
                );
            }

            List <Associados> listaTratada = AssociadosUtil.ToFirstUpper(lista);

            dt.Dispose();

            return(listaTratada);
        }