//private void btnNovo_Click(object sender, EventArgs e)
        //{
        //    habilitar("I");
        //}
        //private void btnAlterar_Click(object sender, EventArgs e)
        //{
        //    habilitar("A");
        //}
        //private void btnLocalizar_Click(object sender, EventArgs e)
        //{
        //    habilitar("V");
        //}
        private void btnAtualizar_Click(object sender, EventArgs e)
        {
            if (rbProcesso.Checked && ttbCriterio.Text == "")
            {
                MessageBox.Show("Digite o número do processo.");
            }
            else
            {
                Banco banco = new Banco();
                GerenciamentoRecebimentos op = new GerenciamentoRecebimentos(banco);
                banco.conecta();
                int op1 = 0, op2 = 0, op3 = 0;
                bool validar = true;
                if (rbHonorario.Checked)
                {
                    op1 = 1;
                    validar = false;
                }
                else if (rbCusta.Checked)
                {
                    validar = false;
                    op1 = 2;
                }

                if (rbRecebido.Checked)
                {
                    op2 = 1;
                    validar = false;
                }
                else if (rbNaoRecebido.Checked)
                {
                    validar = false;
                    op2 = 2;
                }

                if (rbCliente.Checked)
                {
                    op3 = 1;
                    validar = false;
                }
                else if (rbProcesso.Checked)
                {
                    op3 = 2;
                    validar = false;
                }
                if (validar)
                    resultado = op.localizarTodos();
                else
                    resultado = op.granLocaliza(ttbCriterio.Text, op1, op2, op3);

                dgvResultado.DataSource = resultado;
                banco.desconecta();
            }
        }
        private void btnGravar_Click(object sender, EventArgs e)
        {
            if (ccbPago.Checked && ttbValorRecebido.Text == "")
                MessageBox.Show("Digite o valor recebido");
            else if(ttbCodigoTipo.Text == "")
                MessageBox.Show("Selecione o tipo de Custa");
            else if(ttbNumeroProcesso.Text == "")
                MessageBox.Show("Selecione o número do processo");
            else if(ttbDescricao.Text == "")
                MessageBox.Show("Digite a descrição da custa");
            else if(!rbAdvogadoPaga.Checked && !rbClientePaga.Checked)
                MessageBox.Show("Selecione quem irá pagar esta custa");
            else
            {
                Banco banco = new Banco();
                GerenciamentoCustasProcesso cadastro = new GerenciamentoCustasProcesso(banco);
                GerenciamentoRecebimentos recebimentos = new GerenciamentoRecebimentos(banco);
                GerenciamentoProcessos processo = new GerenciamentoProcessos(banco);

                banco.conecta();
                if (ttbCodigoCusta.Text == "")
                {
                    if (rbClientePaga.Checked)
                    {
                        if (processo.verificaPermisaoInclusao(ttbNumeroProcesso.Text))
                        {
                            if (cadastro.incluir(ttbDescricao.Text, Gerais.converteStoD(ttbValorTotal.Text), int.Parse(ttbCodigoTipo.Text)))
                            {
                                MessageBox.Show("Cadastro realizado com sucesso");
                                int codigo = banco.getIdentity();
                                //if (MessageBox.Show("Deseja realizar o lançamento destes recebimentos?", "Lançamento de recebimentos", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                                //{
                                    if (!ccbPago.Checked) //não pago
                                    {
                                        if (recebimentos.incluirCusta(codigo, 0, ttbNumeroProcesso.Text, null, ttbDescricao.Text, Gerais.converteStoD(ttbValorTotal.Text), dtpVencimento.Value, Gerais.converteStoD(ttbValorRecebido.Text)))
                                        {
                                            inicializar();
                                            MessageBox.Show("Cadastro dos recebimentos realizado com sucesso");
                                        }
                                        else
                                            MessageBox.Show("Cadastro não realizado");
                                    }
                                    else //pago
                                    {
                                        if (recebimentos.incluirCusta(codigo, 0, ttbNumeroProcesso.Text, dtpPagamento.Value, ttbDescricao.Text, Gerais.converteStoD(ttbValorTotal.Text), dtpVencimento.Value, Gerais.converteStoD(ttbValorRecebido.Text)))
                                        {
                                            MessageBox.Show("Cadastro realizado com sucesso");
                                            inicializar();
                                        }
                                        else
                                            MessageBox.Show("Cadastro não realizado");
                                    }
                                //}
                                //else
                                //    inicializar();
                            }
                            else
                                MessageBox.Show("Cadastro não realizado");
                        }
                        else
                            MessageBox.Show("Este processo não permite a inclusão de custas para o cliente");

                    }
                    else
                    {
                        if (cadastro.incluir(ttbDescricao.Text, Gerais.converteStoD(ttbValorTotal.Text), int.Parse(ttbCodigoTipo.Text)))
                        {
                            inicializar();
                            MessageBox.Show("Cadastro realizado com sucesso");
                        }
                        else
                            MessageBox.Show("Cadastro não realizado");
                    }
                }
                banco.desconecta();
            }
        }
 private void btnEfetivarRecebimento_Click(object sender, EventArgs e)
 {
     double valor;
     if(!double.TryParse(ttbValor.Text.Substring(2),out valor))
         MessageBox.Show("Digite o valor recebido.");
     else if (dgvResultado.SelectedRows.Count == 0)
         MessageBox.Show("Selecione um campo da busca para efetivar o recebimento.");
     else
     {
         string data = dgvResultado.Rows[dgvResultado.SelectedRows[0].Index].Cells["rece_datareceb"].Value.ToString();
         if (data.Length != 0)
             MessageBox.Show("Impossível efetivar recebimento, o campo selecionado já possui uma data de recebimento.");
         else
         {
             Banco banco = new Banco();
             GerenciamentoRecebimentos op = new GerenciamentoRecebimentos(banco);
             banco.conecta();
             int codigo;
             if (!int.TryParse(dgvResultado.Rows[dgvResultado.SelectedRows[0].Index].Cells["rece_codigo"].Value.ToString(), out codigo))
             {
                 MessageBox.Show("Falha ao tentar converter o código do recebimento.");
             }
             else
             {
                 op.efetivar(codigo,dtpDataRecebimentoEfetiva.Value,double.Parse(ttbValor.Text.Substring(2).Trim()));
                 MessageBox.Show("Recebimento realizado com sucesso.");
                 btnAtualizar.PerformClick();
             }
             banco.desconecta();
         }
     }
 }
        private void btnGravar_Click(object sender, EventArgs e)
        {
            if (ttbNumeroProcesso.Text == "")
                MessageBox.Show("Digite o número do processo");
            else if (!rbClienteNãoPaga.Checked && !rbParcelado.Checked && !rbParcelaUnica.Checked)
                MessageBox.Show("Selecione o tipo de pagamento");
            else if (rbParcelado.Checked && ttbQuantidadePar.Text == "")
                MessageBox.Show("Digite a quantidade de parcelas");
            else if (rbParcelado.Checked && ttbDiasParcelas.Text == "")
                MessageBox.Show("Digite a quantidade de dias entre as parcelas");
            else if (ttbValorTotal.Text == "")
                MessageBox.Show("Digite o valor total");
            else if (cbbNivelAcesso.SelectedIndex == -1)
                MessageBox.Show("Selecione o nivel de acesso");
            else
            {
                Banco banco = new Banco();
                AtualizacaoHonorario cadastro = new AtualizacaoHonorario(banco);
                GerenciamentoRecebimentos recebimentos = new GerenciamentoRecebimentos(banco);

                banco.conecta();
                int qtdParcela, diasParcela;

                if (ttbQuantidadePar.Text == "")
                    qtdParcela = 0;
                else
                    qtdParcela = int.Parse(ttbQuantidadePar.Text);

                if (qtdParcela == 0)
                    qtdParcela = 1;

                if (ttbDiasParcelas.Text == "")
                    diasParcela = 0;
                else
                    diasParcela = int.Parse(ttbDiasParcelas.Text);

                if (diasParcela == 0)
                    diasParcela = 1;

                if (rbParcelaUnica.Checked)
                    qtdParcela = 1;

                double valorTotal = Gerais.converteStoD(ttbValorTotal.Text);

                double valorParcela = 1;
                int contador = 0;
                valorParcela = valorTotal / qtdParcela;

                DateTime datas;

                if (ttbCodigo.Text != "")
                {
                    if (cadastro.alterar(
                        int.Parse(ttbCodigo.Text),
                        ttbNumeroProcesso.Text,
                        dtpData.Value,
                        valorTotal,
                        selecionaTipoParcela(),
                        qtdParcela,
                        ttbDescricao.Text,
                        cbbNivelAcesso.SelectedIndex,
                        diasParcela)
                        )
                    {
                        MessageBox.Show("Alteração realizada com sucesso");

                        if (!rbClienteNãoPaga.Checked)
                        {
                            //if (MessageBox.Show("Deseja realizar o lançamento destes recebimentos?", "Lançamento de recebimentos", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                            //{

                                for (int i = 0; i < qtdParcela; i++)
                                {
                                    datas = dtpData.Value.AddDays((i) * diasParcela);
                                    if (recebimentos.incluirHonorario(int.Parse(ttbCodigo.Text), ttbNumeroProcesso.Text, null, ttbDescParcela.Text, valorParcela, datas, 0))
                                        contador++;
                                }
                                if (contador == qtdParcela)
                                    MessageBox.Show("Cadastro realizado com sucesso");
                            //}

                        }
                        inicializar();
                    }
                    else
                        MessageBox.Show("Alteração não realizada");
                }
                else if (cadastro.incluir(
                    ttbNumeroProcesso.Text,
                    dtpData.Value,
                    valorTotal,
                    selecionaTipoParcela(),
                    qtdParcela,
                    ttbDescricao.Text,
                    cbbNivelAcesso.SelectedIndex,
                    diasParcela))
                {
                    MessageBox.Show("Cadastro realizado com sucesso");
                    if (!rbClienteNãoPaga.Checked)
                    {
                        int codigo = banco.getIdentity();
                        //if (MessageBox.Show("Deseja realizar o lançamento destes recebimentos?", "Lançamento de recebimentos", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                        //{

                            for (int i = 0; i < qtdParcela; i++)
                            {
                                datas = dtpData.Value.AddDays((i) * diasParcela);
                                if (recebimentos.incluirHonorario(codigo, ttbNumeroProcesso.Text, null, ttbDescParcela.Text, valorParcela, datas, 0))
                                    contador++;
                            }
                            if (contador == qtdParcela)
                                MessageBox.Show("Cadastro de parcelas realizado com sucesso");
                        //}

                    }
                    inicializar();
                }
                else
                    MessageBox.Show("Cadastro não realizado");
                banco.desconecta();
            }
        }