public bool AlterarMensalista(Mensalista objeto)
        {
            using (OracleCommand c = _conn.ObterConexao().CreateCommand())
            {
                c.CommandType = System.Data.CommandType.Text;

                try
                {
                    c.CommandText = "update MENSALISTA SET CNH=:CNH, DESCONTO=:DESCONTO, CEP=:CEP, ENDERECO =: ENDERECO, BAIRRO =:BAIRRO, CIDADE =:CIDADE, ESTADO =:ESTADO, CODPLANO= :CODPLANO, CODCONVENIO = :CODCONVENIO, CODSTATUS =:CODSTATUS";

                   // c.Parameters.Add("CODMENSALISTA", OracleType.Number).Value = objeto.CodMensalista;
                    c.Parameters.Add("CNH", OracleType.VarChar).Value = objeto.CNH1;
                    c.Parameters.Add("DESCONTO", OracleType.Float).Value = objeto.Desconto;
                    c.Parameters.Add("CEP", OracleType.VarChar).Value = objeto.CEP1;
                    c.Parameters.Add("ENDERECO", OracleType.VarChar).Value = objeto.Endereco;
                    c.Parameters.Add("BAIRRO", OracleType.VarChar).Value = objeto.Bairro;
                    c.Parameters.Add("CIDADE", OracleType.VarChar).Value = objeto.Cidade;
                    c.Parameters.Add("ESTADO", OracleType.VarChar).Value = objeto.Estado;
                    c.Parameters.Add("CODPLANO", OracleType.Number).Value = objeto.CodPlano;
                    c.Parameters.Add("CODCONVENIO", OracleType.Number).Value = objeto.CodConvenio;
                    c.Parameters.Add("CODSTATUS", OracleType.Number).Value = objeto.CodStatus;

                    c.ExecuteNonQuery();
                    return true;
                }
                catch (OracleException ex)
                {
                    throw;
                }

                return false;

            }
        }
        public void AssociarVeiculo(Mensalista mensalista)
        {
            VeiculoDAO daoVeiculo = new VeiculoDAO();
            MensalistaDAO dados = new MensalistaDAO();

            Veiculo novo = new Veiculo(0,txtPlaca.Text, CodigoModelo(), mensalista.CodMensalista);////aquiiiiiiiii

            daoVeiculo.Inserir(novo);
        }
        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 int inserir(Mensalista objeto)
 {
     return DAO.Inserir(objeto);
 }
        public Mensalista BuscaCNH(string CNH)
        {
            Mensalista mensalista = null;

            using (OracleCommand c = _conn.ObterConexao().CreateCommand())
            {
                c.CommandType = System.Data.CommandType.Text;
                c.CommandText = "select CODMENSALISTA, CNH, DESCONTO, CEP, ENDERECO, BAIRRO, CIDADE, ESTADO, CODPLANO, CODCONVENIO, CODSTATUS FROM MENSALISTA WHERE CNH = :CNH";
                c.Parameters.Add("CNH", OracleType.VarChar).Value = CNH;

                using (OracleDataReader leitor = c.ExecuteReader())
                {
                    if (leitor.HasRows)
                    {
                        leitor.Read();

                        int bd_cod_mensalista = leitor.GetInt32(0);
                        string bd_cnh = leitor.GetString(1);
                        float bd_desconto = leitor.GetFloat(2);
                        string bd_cep = leitor.GetString(3);
                        string bd_endereco = leitor.GetString(4);
                        string bd_bairro = leitor.GetString(5);
                        string bd_cidade = leitor.GetString(6);
                        string bd_estado = leitor.GetString(7);
                        int bd_cod_plano = leitor.GetInt32(8);
                        int bd_cod_convenio = leitor.GetInt32(9);
                        int bd_cod_status = leitor.GetInt32(10);

                        mensalista = new Mensalista(bd_cod_mensalista, bd_cnh, bd_desconto, bd_cep, bd_endereco, bd_bairro, bd_cidade, bd_estado, bd_cod_plano, bd_cod_convenio, bd_cod_status);
                    }
                    else
                    {
                        return null;
                    }
                }

            }
            return mensalista;
        }
        public List<Mensalista> BuscarTodos()
        {
            List<Mensalista> Mensalistas = new List<Mensalista>();

            using (OracleCommand c = _conn.ObterConexao().CreateCommand())
            {
                c.CommandType = System.Data.CommandType.Text;
                c.CommandText = "select * from mensalista";

                using (OracleDataReader leitor = c.ExecuteReader())
                {
                    while (leitor.Read())
                    {

                        int bd_cod_mensal = leitor.GetInt32(0);
                        string bd_cnh = Convert.ToString(leitor.GetOracleNumber(1));
                        float bd_desconto = leitor.GetFloat(2);
                        string bd_cep = Convert.ToString(leitor.GetOracleNumber(3));
                        string bd_endereco = leitor.GetString(4);
                        string bd_bairro = leitor.GetString(5);
                        string bd_cidade = leitor.GetString(6);
                        string bd_estado = leitor.GetString(7);
                        int bd_codPlano = leitor.GetInt32(8);
                        int bd_codConvenio = leitor.GetInt32(9);
                        int bd_codStatus = leitor.GetInt32(10);

                        Mensalista resultado = new Mensalista(bd_cod_mensal,bd_cnh,bd_desconto,bd_cep,bd_endereco,bd_bairro,bd_cidade,bd_estado,bd_codPlano,bd_codConvenio,bd_codStatus);
                        Mensalistas.Add(resultado);
                    }

                }

                return Mensalistas;
            }
            return null;
        }