public PessoaFisica Buscar(int codmensal)
        {
            PessoaFisica pessoaFisica = new PessoaFisica();
            using (OracleCommand c = _conn.ObterConexao().CreateCommand())
            {
                c.CommandType = System.Data.CommandType.Text;
                c.CommandText = "select codPessoaFisica, cpf, rg, codMensalista, NOME FROM PESSOAFISICA WHERE codMensalista = :CODMENSAL";
                c.Parameters.Add("CODMENSAL", OracleType.Int32).Value = codmensal;

                using (OracleDataReader leitor = c.ExecuteReader())
                {
                    if (leitor.HasRows)
                    {
                        leitor.Read();
                        int bd_codPessoaFisica = leitor.GetInt32(0);
                        string bd_cpf = leitor.GetString(1);
                        string bd_rg = leitor.GetString(2);
                        int bd_codMensalista = leitor.GetInt32(3);
                        string bd_nome = leitor.GetString(4);

                        pessoaFisica = new PessoaFisica(bd_codPessoaFisica, bd_cpf, bd_rg,bd_nome,bd_codMensalista);
                    }
                }
            }
            return pessoaFisica;
        }
 public bool inserir(PessoaFisica objeto)
 {
     if (chamarPessoaFDAO.Inserir(objeto)){
         return true;
     }
     return false;
 }
 public bool Atualizar(PessoaFisica objeto)
 {
     using (OracleCommand c = _conn.ObterConexao().CreateCommand())
     {
         c.CommandType = System.Data.CommandType.Text;
         c.CommandText = "update userdba.PessoaFisica set codPessoaFisica = :codPessoaFisica, cpf = :cpf, rg = :rg, codMensalista = :codMensalista WHERE cpf = :cpf";
         c.Parameters.Add(new OracleParameter(":codPessoaFisica", objeto.CodPessoaFisica));
         c.Parameters.Add(new OracleParameter(":cpf", objeto.Cpf));
         c.Parameters.Add(new OracleParameter(":rg", objeto.Rg));
         c.Parameters.Add(new OracleParameter(":nome", objeto.Nome));
         c.Parameters.Add(new OracleParameter(":codMensalista", objeto.CodMensalista));
         c.ExecuteNonQuery();
         return true;
     }
 }
        private void cmdSalvar_Click(object sender, EventArgs e)
        {
            //DADOS GERAIS
            string cnh = txtCnh.Text;
            string estado = txtEstado.Text;
            string cidade = txtCidade.Text;
            string bairro = txtBairro.Text;
            string cep = txtCep.Text;
            string rua = txtRua.Text;

            if(txtDesconto.Text == string.Empty)
            {
                MessageBox.Show("Preencha do campo desconto.");
                return;
            }
            float desconto = float.Parse(txtDesconto.Text);

            //VERIFICA  SE FOI SELECIONADO UM STATUS
            if (rdAtivo.Checked == false && rdInativo.Checked == false)
            {
                MessageBox.Show("Selecione o status.");
                return;
            }

            //VERIFICA SE FOI SELECIONADO PLANO OU CONVENIO
            if (CmbAssociar.ToString() == string.Empty)
            {

                MessageBox.Show("Selecione a forma de associação");
                return;

            }

            if(cmbModelo.SelectedItem == null)
            {
                MessageBox.Show("Veículo é obrigátório");
                return;
            }

            //DEFINE O CÓDIGO DO STATUS DO MENSALISTA
            int codStatusM = 0;
            if (rdAtivo.Checked == true)
            {
                codStatusM = 1;
            }

            if (rdInativo.Checked == true)
            {
                codStatusM = 2;
            }

            //SE FOR PESSOA FÍSICA
            if (rdPf.Checked == true)
            {
                //VÁRIAVEL DE PESSOA FÍSICA
                string cpf = txtCpf.Text;
                string nome = txtNome.Text;
                string rg = txtRg.Text;

                PessoaFisica novoPf = new PessoaFisica(0, cpf, rg, nome, 0);
                Mensalista novoM = new Mensalista(0, cnh, desconto, cep, rua, bairro, cidade, estado, CodigoPlano(), CodigoConvenio(), codStatusM);

                MensalistaDAO VINDIESEL = new MensalistaDAO();

                if (VINDIESEL.BuscaCNH(cnh) != null)
                {
                    //alterar
                    try {
                        VINDIESEL.AlterarMensalista(novoM);
                        MessageBox.Show("Alteração realizada com sucesso.");
                    }catch(Exception toreto)
                    {
                        MessageBox.Show("Não foi possível efetuar alteração", toreto.Message);
                    }

                }
                else
                {

                    try
                    {

                        int seqM = chamarMensalistaRN.inserir(novoM);
                        novoPf.CodMensalista = seqM;
                        chamarPessoaFRN.inserir(novoPf);

                        AssociarVeiculo(novoM);

                        //GerarCartao(seqM);
                        MessageBox.Show("Mensalista incluído com sucesso."+ seqM);

                        Limpar();

                    }
                    catch (Exception err)
                    {
                        MessageBox.Show(err.Message);
                    }
                }
                }

            else {

                ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                //SE FOR PESSOA JURÍDICA
                if (rdPj.Checked == true)
                {

                    // codMensalista = int.Parse(txtCodMensalista.Text);

                    string cnpj = txtCnpj.Text;
                    string ie = txtIe.Text;
                    string razaoSoc = txtRazaoSocial.Text;

                    PessoaJuridica novoPJ = new PessoaJuridica(0, cnpj, ie, razaoSoc, 0);
                    Mensalista novoM1 = new Mensalista(0, cnh, desconto, cep, rua, bairro, cidade, estado, CodigoPlano(), CodigoConvenio(), codStatusM);

                    try
                    {

                        int seqM = chamarMensalistaRN.inserir(novoM1);
                        novoPJ.CodMensalista = seqM;
                        chamarPessoaJRN.inserir(novoPJ);

                        //GerarCartao(seqM);
                        MessageBox.Show("Mensalista incluído com sucesso.");

                        Limpar();

                    }
                    catch (Exception err)
                    {
                        MessageBox.Show(err.Message);
                    }

                }

            }
        }
        public bool Excluir(PessoaFisica objeto)
        {
            using (OracleCommand c = _conn.ObterConexao().CreateCommand())
            {
                c.CommandType = System.Data.CommandType.Text;
                c.CommandText = "delete from userdba.PessoaFisica WHERE cpf = :cpf";
                c.Parameters.Add("cpf", OracleType.Int32).Value = objeto.Cpf;

                if (c.ExecuteNonQuery() > 0)
                {
                    return true;
                }
            }
            return false;
        }
        public Collection<PessoaFisica> ObterTodos()
        {
            Collection<PessoaFisica> todosPF = new Collection<PessoaFisica>();
            PessoaFisica pessoaFisica = new PessoaFisica();
            using (OracleCommand c = _conn.ObterConexao().CreateCommand())
            {
                c.CommandType = System.Data.CommandType.Text;
                c.CommandText = "select * FROM PESSOAFISICA";

                using (OracleDataReader leitor = c.ExecuteReader())
                {
                    int bd_codPessoaFisica = 0;
                    string bd_cpf = "";
                    string bd_rg = "";
                    int bd_codMensalista = 0;
                    string bd_nome = "";

                    while (leitor.Read())
                    {
                        try
                        {
                            bd_codPessoaFisica = leitor.GetInt32(0);
                            bd_cpf = leitor.GetString(1);
                            bd_rg = leitor.GetString(2);
                            bd_codMensalista = leitor.GetInt32(3);
                            bd_nome = leitor.GetString(4);

                        }
                        catch (InvalidCastException e)
                        {

                        }
                        pessoaFisica = new PessoaFisica(bd_codPessoaFisica, bd_cpf, bd_rg,bd_nome,bd_codMensalista);

                        todosPF.Add(pessoaFisica);
                    }
                }
            }

            return todosPF;
        }
        public bool Inserir(PessoaFisica objeto)
        {
            using (OracleCommand c = _conn.ObterConexao().CreateCommand())
            {
                c.CommandType = System.Data.CommandType.Text;
                c.CommandText = "insert into PESSOAFISICA (CODPESSOAFISICA, CPF, RG,NOME,CODMENSALISTA) values(seq_mensalistaPF.nextval, :CPF, :RG,:NOME, :CODMENSALISTA)";
                //c.Parameters.Add("CODPESSOAFISICA", OracleType.Int32).Value = objeto.CodPessoaFisica;
                c.Parameters.Add("CPF", OracleType.VarChar).Value = objeto.Cpf;
                c.Parameters.Add("RG", OracleType.VarChar).Value = objeto.Rg;
                c.Parameters.Add("NOME", OracleType.VarChar).Value = objeto.Nome;
                c.Parameters.Add("CODMENSALISTA", OracleType.Int32).Value = objeto.CodMensalista;

                c.ExecuteScalar();
                return true;
            }
        }
 public void Gravar(PessoaFisica pf)
 {
     Inserir(pf);
 }