public Empresa getDetalhes(int id)
        {
            try
            {
                SQL = string.Format("SELECT id, ativo, cnpj, razao_social, fantasia, matriz, filial, ie, im, id_crt, id_segmento, " +
                                    "cep, id_pais, id_uf, id_cidade, bairro, logradouro, numero, complemento, " +
                                    "telefone, celular, contato, email, site, dt_cadastro, dt_alteracao " +
                                    "FROM empresa " +
                                    "WHERE id = '{0}'", id);
                DataSet ds = con.ConsultaSQL(SQL);
                Empresa e  = null;

                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    e = new Empresa();
                    DAO_Endereco daoEnd = new DAO_Endereco();

                    e.Id          = int.Parse(dr["id"].ToString());
                    e.ativo       = bool.Parse(dr["ativo"].ToString());
                    e.cnpj        = dr["cnpj"].ToString();
                    e.razaoSocial = dr["razao_social"].ToString();
                    e.fantasia    = dr["fantasia"].ToString();
                    e.matriz      = bool.Parse(dr["matriz"].ToString());
                    e.filial      = bool.Parse(dr["filial"].ToString());
                    e.ie          = dr["ie"].ToString();
                    e.im          = dr["im"].ToString();
                    e.crt         = int.Parse(dr["id_crt"].ToString());
                    e.segmento    = int.Parse(dr["id_segmento"].ToString());
                    e.cep         = dr["cep"].ToString();

                    e.pais.Id = int.Parse(dr["id_pais"].ToString());
                    Pais pa = daoEnd.getPaisID(e.pais.Id);
                    e.pais = pa;

                    e.uf.Id = int.Parse(dr["id_uf"].ToString());
                    UF uf = daoEnd.getEstadoID(e.uf.Id);
                    e.uf = uf;

                    e.cidade.Id = int.Parse(dr["id_cidade"].ToString());
                    Cidade cid = daoEnd.getCidadeID(e.cidade.Id);
                    e.cidade = cid;

                    e.bairro      = dr["bairro"].ToString();
                    e.logradouro  = dr["logradouro"].ToString();
                    e.numero      = Convert.ToInt32(dr["numero"].ToString());
                    e.complemento = dr["complemento"].ToString();
                    e.telefone    = long.Parse(dr["telefone"].ToString());
                    e.celular     = long.Parse(dr["celular"].ToString());
                    e.contato     = dr["contato"].ToString();
                    e.email       = dr["email"].ToString();
                    e.site        = dr["site"].ToString();
                    e.dtCadastro  = DateTime.Parse(dr["dtcadastro"].ToString());
                    e.dtAlteracao = DateTime.Parse(dr["dtalteracao"].ToString());
                }

                return(e);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        public Pessoa getDetalhes(int id)//consulta na base de dados todos os dados da pessoa
        {
            try
            {
                SQL = string.Format("SELECT id, ativo, id_tipo, cliente, fornecedor, funcionario, transportador, outro, " +
                                    "cpf_cnpj, nome_completo, fantasia, rg_ie, cep, id_pais, id_uf, id_cidade, bairro, logradouro, numero, complemento, " +
                                    "telefone, celular, contato, email, dt_nasc, dt_cadastro, dt_alteracao " +
                                    "FROM pessoa " +
                                    "WHERE id = '{0}'", id);
                DataSet ds = con.ConsultaSQL(SQL);
                Pessoa  p  = null;

                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    p = new Pessoa();
                    DAO_Endereco daoEnd = new DAO_Endereco();

                    p.id      = int.Parse(dr["id"].ToString());
                    p.ativo   = bool.Parse(dr["ativo"].ToString());
                    p.tipo.Id = int.Parse(dr["id_tipo"].ToString());
                    TipoPessoa tp = getTipoPessoa(p.tipo.Id);
                    p.tipo = tp;
                    //tipo
                    p.cliente       = bool.Parse(dr["cliente"].ToString());
                    p.fornecedor    = bool.Parse(dr["fornecedor"].ToString());
                    p.funcionario   = bool.Parse(dr["funcionario"].ToString());
                    p.transportador = bool.Parse(dr["transportador"].ToString());
                    p.outro         = bool.Parse(dr["outro"].ToString());

                    p.CPF_CNPJ     = dr["cpf_cnpj"].ToString();
                    p.nomeCompleto = dr["nome_completo"].ToString();
                    p.fantasia     = dr["fantasia"].ToString();
                    p.RG_IE        = dr["rg_ie"].ToString();

                    p.CEP = dr["cep"].ToString();
                    //país
                    p.pais.Id = int.Parse(dr["id_pais"].ToString());
                    Pais pa = daoEnd.getPaisID(p.pais.Id);
                    p.pais = pa;
                    //estado
                    p.uf.Id = int.Parse(dr["id_uf"].ToString());
                    UF uf = daoEnd.getEstadoID(p.uf.Id);
                    p.uf = uf;
                    //cidade
                    p.cidade.Id = int.Parse(dr["id_cidade"].ToString());
                    Cidade cid = daoEnd.getCidadeID(p.cidade.Id);
                    p.cidade = cid;
                    //endereco
                    p.bairro      = dr["bairro"].ToString();
                    p.logradouro  = dr["logradouro"].ToString();
                    p.numero      = Convert.ToInt32(dr["numero"].ToString());
                    p.complemento = dr["complemento"].ToString();
                    //contato
                    p.telefone = long.Parse(dr["telefone"].ToString());
                    p.celular  = long.Parse(dr["celular"].ToString());
                    p.contato  = dr["contato"].ToString();
                    p.email    = dr["email"].ToString();

                    p.dtNasc      = DateTime.Parse(dr["dt_nasc"].ToString());
                    p.dtCadastro  = DateTime.Parse(dr["dt_cadastro"].ToString());
                    p.dtAlteracao = DateTime.Parse(dr["dt_alteracao"].ToString());
                }
                return(p);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }