private void btnEstornar_Click(object sender, EventArgs e)
        {
            ContasAPagar cap = new ContasAPagar();
            ContasAPagar aux = new ContasAPagar();
            bool flag = false;
            List<ContasAPagar> lcap = (List<ContasAPagar>)DgvQuitar.DataSource;
            cap = lcap[DgvQuitar.CurrentRow.Index];
            if (VerificaUltimaParcelaFechada(cap))
            {
                lcap = IContasapagar.GetData(cap.Cap_datageracao).ToList();
                foreach(var a in lcap)
                    if(a.Cap_datavencimento == cap.Cap_datavencimento)
                        if(a.Cap_valorpago == 0)
                        {
                            aux = a;
                            break;
                        }
                cap.Cap_valorpago = 0;
                cap.Cap_datapagamento = DateTime.MinValue;
                IContasapagar.Estornar(cap, aux);
                MessageBox.Show("O valor da parcela foi estornado!!");
                rbFechado_Click(sender, e);
                

            }
            else
                MessageBox.Show("Você não pode estornar essa parcela, pois tem uma parcela posterior paga!");

        }
        public bool VerificaParcela(ContasAPagar cap)
        {
            List<ContasAPagar> lcap = new List<ContasAPagar>();
            lcap = (List<ContasAPagar>)IContasapagar.GetData(cap.Cap_datageracao);
            foreach(var a in lcap)
            {
                if (a.Cap_cod < cap.Cap_cod)
                {
                    if (a.Cap_valorpago.Equals(0))
                        return false;
                }
                else if (a.Cap_cod == cap.Cap_cod)
                    break;

            }


            return true;
        }
 public bool VerificaUltimaParcelaFechada(ContasAPagar cap)
 {
     List<ContasAPagar> lcap = IContasapagar.GetData(cap.Cap_datageracao).ToList();
     List<ContasAPagar> suport = new List<ContasAPagar>();
     foreach(var a in lcap)
     {
         if (cap.Cap_datavencimento == a.Cap_datavencimento)
             suport.Add(a);
     }
     suport = suport.OrderByDescending(c => c.Cap_cod).ToList();
     
     foreach(var a in suport)
     {
         if (a.Cap_valorpago != 0)
             if (a.Cap_cod == cap.Cap_cod)
                 return true;
             else
                 break;
         
     }
     return false;
 }
        private void btnPesquisar_Click(object sender, EventArgs e)
        {
            var a = new PesquisaLancarDespesa(IContasapagar);



            if (a.ShowDialog() == DialogResult.OK)
            {
                List <ContasAPagar> lcap = IContasapagar.GetData(a.CAP.Cap_datageracao).ToList();

                /*txtID.Text = a.CAP.Cap_cod.ToString();
                 * txtDescricao.Text = a.CAP.Cap_descricao;
                 * txtUser.Text = a.CAP.User.User_login;
                 * txtValorDespesa.Text = a.CAP.Cap_valordespesa.ToString().PadLeft(11, ' ');
                 * txtParcelas.Text = IContasapagar.conta(Convert.ToInt32(txtID.Text)).ToString();
                 * if (Convert.ToInt32(txtParcelas.Text) > 1)
                 *  rbParcelado.Checked = true;
                 * else
                 *  rbAVista.Checked = true;
                 * dtpData.Value = a.CAP.Cap_datageracao;
                 * cbbDespesa.Text = a.CAP.Despesa.Desp_descricao;*/
                DgvDespesa.DataSource = lcap;
                DgvDespesa.Columns.Remove("Cap_cod");
                DgvDespesa.Columns.Remove("Cap_datapagamento");
                DgvDespesa.Columns.Remove("Cap_valorpago");
                DgvDespesa.Columns.Remove("User");
                DgvDespesa.Columns.Remove("Despesaid");
                DgvDespesa.Columns.Remove("Usuarioid");
                DgvDespesa.Columns.Remove("PedidoPetid");
                DgvDespesa.Columns["Cap_descricao"].HeaderText      = "Descrição da despesa";
                DgvDespesa.Columns["Cap_datageracao"].HeaderText    = "Data de lançamento";
                DgvDespesa.Columns["Cap_valordespesa"].HeaderText   = "Valor da despesa";
                DgvDespesa.Columns["Cap_datavencimento"].HeaderText = "Data do vencimento";
                DgvDespesa.Columns["DespesaDescricao"].HeaderText   = "Categoria da despesa";
                DgvDespesa.Columns["NomeUsuario"].HeaderText        = "Nome do Usuario";
            }
        }