private void carregaTela(int cod, int parc)
        {
            Controller.DespesaController   dc    = new Controller.DespesaController();
            Controller.CompraController    cc    = new Controller.CompraController();
            Controller.PessoaController    pc    = new Controller.PessoaController();
            Controller.CaixaController     cxc   = new Controller.CaixaController();
            Controller.UsuarioController   uc    = new Controller.UsuarioController();
            Controller.PagamentoController pagc  = new Controller.PagamentoController();
            Controller.ComissaoController  comic = new Controller.ComissaoController();

            Entidades.Despesa        desp    = new Entidades.Despesa();
            Entidades.Compra         compra  = new Entidades.Compra();
            Entidades.Pessoa         pes     = new Entidades.Pessoa();
            Entidades.Caixa          caixa   = new Entidades.Caixa();
            Entidades.Usuario        usuario = new Entidades.Usuario();
            Entidades.FormaPagamento formap  = new Entidades.FormaPagamento();
            Entidades.Comissao       comis   = new Entidades.Comissao();
            Entidades.ContasPagar    cp      = new Entidades.ContasPagar();

            List <Entidades.CompraProduto> listaItens = new List <Entidades.CompraProduto>();

            ttbCodigo.Text = cod + "";
            DataTable dtGeral = cpc.retornaContaCodParc(cod, parc);

            if (dtGeral != null && dtGeral.Rows.Count > 0)
            {
                DataRow   drGeral   = dtGeral.Rows[0];
                DataTable dtDespesa = dc.retornaObjDespesa(Convert.ToInt32(drGeral["coddespesa"].ToString()));
                if (dtDespesa != null && dtDespesa.Rows.Count > 0)
                {
                    DataRow drDespesa = dtDespesa.Rows[0];
                    desp.Codigo     = Convert.ToInt32(drDespesa["coddespesa"].ToString());
                    desp.Descricao  = drDespesa["desp_descricao"].ToString();
                    desp.Status     = drDespesa["desp_status"].ToString();
                    ttbDespesa.Text = desp.Descricao;
                }
                if (desp.Codigo == 2)
                {
                    listaItens = cc.retornaLista(Convert.ToInt32(drGeral["codcompra"].ToString()));
                }
                DataTable dtCompra = cc.retornaCompra(Convert.ToInt32(drGeral["codcompra"].ToString()));
                if (dtCompra != null && dtCompra.Rows.Count > 0)
                {
                    DataRow drCompra = dtCompra.Rows[0];
                    compra.Despesa    = desp;
                    compra.Codigo     = Convert.ToInt32(drCompra["codcompra"].ToString());
                    compra.Data       = Convert.ToDateTime(drCompra["comp_datacompra"].ToString());
                    compra.Situacao   = drCompra["comp_situacao"].ToString();
                    compra.Lista      = listaItens;
                    compra.Obs        = drCompra["comp_obs"].ToString();
                    compra.ValorTotal = Convert.ToDouble(drCompra["comp_valortotal"].ToString());
                    DataTable dtPessoa = pc.retornaPessoaCod(drCompra["codpessoa"].ToString());
                    if (dtPessoa != null && dtPessoa.Rows.Count > 0)
                    {
                        DataRow drPessoa = dtPessoa.Rows[0];
                        pes.Codigo       = Convert.ToInt32(drPessoa["codpessoa"].ToString());
                        pes.Nome         = drPessoa["pes_nome"].ToString();
                        pes.DataCadastro = Convert.ToDateTime(drPessoa["pes_datacadastro"].ToString());
                        pes.TipoPessoa   = drPessoa["pes_tipopessoa"].ToString();
                        pes.StatusPessoa = Convert.ToBoolean(drPessoa["pes_statuspessoa"].ToString());
                        pes.Observacao   = drPessoa["pes_obs"].ToString();
                        pes.Fiado        = Convert.ToBoolean(drPessoa["pes_fiado"].ToString());
                        pes.Email        = drPessoa["pes_email"].ToString();
                        pes.Telefone     = drPessoa["pes_fone"].ToString();
                        pes.Celular      = drPessoa["pes_cel"].ToString();
                    }
                    compra.Pessoa = pes;
                }
                DataTable dtCaixa = cxc.retornacaixaAbetoDia();
                if (dtCaixa != null && dtCaixa.Rows.Count > 0)
                {
                    DataRow drCaixa = dtCaixa.Rows[0];
                    caixa.CodCaixa       = Convert.ToInt32(drCaixa["codcaixa"].ToString());
                    caixa.DataAbertura   = Convert.ToDateTime(drCaixa["caixa_datahoraabertura"].ToString());
                    caixa.DataFechamento = Convert.ToDateTime(drCaixa["caixa_datahorafecha"].ToString());
                    caixa.SaldoInicial   = Convert.ToDouble(drCaixa["caixa_saldoinicial"].ToString());
                    caixa.Troco          = Convert.ToDouble(drCaixa["caixa_troco"].ToString());
                    caixa.TotalEntrada   = Convert.ToDouble(drCaixa["caixa_totalentra"].ToString());
                    caixa.TotalSaida     = Convert.ToDouble(drCaixa["caixa_totalsaida"].ToString());
                    DataTable dtUsuario = uc.retornaObjUsuario(Convert.ToInt32(drCaixa["codusuario"].ToString()));
                    if (dtUsuario != null && dtUsuario.Rows.Count > 0)
                    {
                        DataRow drUsuario = dtUsuario.Rows[0];
                        usuario.UsuarioCodigo = Convert.ToInt32(drUsuario["codusuario"].ToString());
                        usuario.Login         = drUsuario["usu_usuario"].ToString();
                        usuario.Senha         = drUsuario["usu_senha"].ToString();
                        usuario.Nivel         = Convert.ToInt32(drUsuario["usu_nivel"].ToString());
                        usuario.PessoaCod     = Convert.ToInt32(drUsuario["codpessoa"].ToString());
                    }
                    caixa.Usuario = usuario;
                    Entidades.Pessoa p   = new Entidades.Pessoa();
                    DataTable        dtP = pc.retornaPessoaCod(drCaixa["codpessoa"].ToString());
                    if (dtP != null && dtP.Rows.Count > 0)
                    {
                        DataRow drPessoa = dtP.Rows[0];
                        p.Codigo       = Convert.ToInt32(drPessoa["codpessoa"].ToString());
                        p.Nome         = drPessoa["pes_nome"].ToString();
                        p.DataCadastro = Convert.ToDateTime(drPessoa["pes_datacadastro"].ToString());
                        p.TipoPessoa   = drPessoa["pes_tipopessoa"].ToString();
                        p.StatusPessoa = Convert.ToBoolean(drPessoa["pes_statuspessoa"].ToString());
                        p.Observacao   = drPessoa["pes_obs"].ToString();
                        p.Fiado        = Convert.ToBoolean(drPessoa["pes_fiado"].ToString());
                        p.Email        = drPessoa["pes_email"].ToString();
                        p.Telefone     = drPessoa["pes_fone"].ToString();
                        p.Celular      = drPessoa["pes_cel"].ToString();
                    }
                    caixa.Pessoa = p;
                }
                DataTable dtForma = pagc.retornaObjFormaPagamento(Convert.ToInt32(drGeral["codformapag"].ToString()));
                if (dtForma != null && dtForma.Rows.Count > 0)
                {
                    DataRow drForma = dtForma.Rows[0];
                    formap.Codigo = Convert.ToInt32(drForma["codformapag"].ToString());
                    formap.Forma  = drForma["formpag_descricao"].ToString();
                }
                DataTable dtComissao = comic.retornaComissao(Convert.ToInt32(drGeral["codcomissao"].ToString()));
                if (dtComissao != null && dtComissao.Rows.Count > 0)
                {
                    DataRow drComis = dtComissao.Rows[0];
                    comis.CodigoComissao  = Convert.ToInt32(drComis["codcomissao"].ToString());
                    comis.DataPagamento   = Convert.ToDateTime(drComis["comis_datapagamento"].ToString());
                    comis.ValorTotal      = Convert.ToDouble(drComis["comis_valortotal"].ToString());
                    comis.ValorPago       = Convert.ToDouble(drComis["comis_valorpago"].ToString());
                    comis.ValorDevolver   = Convert.ToDouble(drComis["comis_valordevedor"].ToString());
                    comis.StatusComissao  = drComis["comis_statuscomissao"].ToString();
                    comis.StatusPagamento = drComis["comis_statuspagamento"].ToString();
                }
                //carrega objeto
                cp.CodigoContasaPagar = cod;
                cp.DataVencimento     = Convert.ToDateTime(drGeral["contpag_datavencimento"].ToString());
                cp.DataPagamento      = Convert.ToDateTime(drGeral["contpag_datapagamento"].ToString());
                cp.ValorTotal         = Convert.ToDouble(drGeral["contpag_valortotal"].ToString());
                cp.ValorPago          = Convert.ToDouble(drGeral["contpag_valorpago"].ToString());
                cp.Observacao         = drGeral["contpag_obs"].ToString();
                cp.Status             = Convert.ToBoolean(drGeral["contpag_status"].ToString());
                cp.Parcela            = Convert.ToInt32(drGeral["contpag_numparc"].ToString());
                cp.Compra             = compra;
                cp.Despesa            = desp;
                cp.Caixa          = caixa;
                cp.FormaPagamento = formap;
                cp.Comissao       = comis;
                cp.ValorParcela   = Convert.ToDouble(drGeral["contPag_valorParcela"].ToString());
                cp.CodParcela     = Convert.ToInt32(drGeral["contPag_Parcela"].ToString());
                this.cpagar       = cp;
                mskTotal.Text     = cp.ValorParcela + "";
                mskRestante.Text  = cp.ValorParcela + "";
                mskSubtotal.Text  = cp.ValorParcela + "";
                carregaDGV(listaItens);
            }
        }
Example #2
0
        private void btnIncluir_Click(object sender, EventArgs e)
        {
            int    k     = listaParcelas.Count;
            double total = Convert.ToDouble(mskValorTotal.Text.ToString());

            Controller.CaixaController cxc  = new Controller.CaixaController();
            Entidades.Caixa            cx   = new Entidades.Caixa();
            Entidades.Parcela          parc = new Entidades.Parcela();
            DataTable dtCaixa = cxc.retornacaixaAbetoDia();

            if (dtCaixa != null && dtCaixa.Rows.Count > 0)
            {
                DataRow drCaixa = dtCaixa.Rows[0];
                cx.CodCaixa       = Convert.ToInt32(drCaixa["codcaixa"].ToString());
                cx.DataAbertura   = Convert.ToDateTime(drCaixa["caixa_datahoraabertura"].ToString());
                cx.DataFechamento = Convert.ToDateTime(drCaixa["caixa_datahorafecha"].ToString());
                cx.SaldoInicial   = Convert.ToDouble(drCaixa["caixa_saldoinicial"].ToString());
                cx.Troco          = Convert.ToDouble(drCaixa["caixa_troco"].ToString());
                cx.TotalEntrada   = Convert.ToDouble(drCaixa["caixa_totalentra"].ToString());
                cx.TotalSaida     = Convert.ToDouble(drCaixa["caixa_totalsaida"].ToString());
            }
            if (cbManual.Checked)
            {
                if (!String.IsNullOrEmpty(mskValorParcela.Text.ToString()))
                {
                    double tt      = Convert.ToDouble(mskValorTotoalPagar.Text.ToString());
                    double valparc = Convert.ToDouble(mskValorParcela.Text.ToString());
                    string parcv   = valparc.ToString("#.##");
                    valparc = Convert.ToDouble(parcv);
                    if (total >= tt + valparc)
                    {
                        parc                = new Entidades.Parcela();
                        parc.Codigo         = k + 1;
                        parc.DataPagamento  = DateTime.MinValue;
                        parc.DataVencimento = dtpDataVencimento.Value.AddDays(k * 30);
                        parc.ValorPago      = 0;
                        parc.ValorReceber   = valparc;
                        parc.Forma          = new Entidades.FormaPagamento();
                        parc.Caixa          = cx;
                        listaParcelas.Add(parc);
                        mskValorTotoalPagar.Text = tt + valparc + "";
                        mskValorParcela.Text     = "";
                        carregaDGV(listaParcelas);
                    }
                    else
                    {
                        MessageBox.Show("Valor superior ao total!");
                    }
                }
                else
                {
                    MessageBox.Show("Digite o valor a ser incluido!");
                }
            }
            else
            {
                listaParcelas = new List <Entidades.Parcela>();
                if (!String.IsNullOrEmpty(ttbQtdeParcela.Text.ToString()))
                {
                    double nparcela   = Convert.ToInt32(ttbQtdeParcela.Text.ToString());
                    double valParcela = total / nparcela;
                    string parcv      = valParcela.ToString("#.##");
                    valParcela = Convert.ToDouble(parcv);
                    double tem = total;
                    for (int i = 0; i < nparcela; i++)
                    {
                        tem                -= valParcela;
                        parc                = new Entidades.Parcela();
                        parc.Codigo         = i + 1;
                        parc.DataPagamento  = DateTime.MinValue;
                        parc.DataVencimento = dtpDataVencimento.Value.AddDays(i * 30);
                        parc.ValorPago      = 0;
                        if (i + 1 == nparcela)
                        {
                            double vl = tem + valParcela;
                            parc.ValorReceber = Convert.ToDouble(vl.ToString("#.##"));
                        }
                        else
                        {
                            parc.ValorReceber = valParcela;
                        }
                        parc.Forma = new Entidades.FormaPagamento();
                        parc.Caixa = cx;
                        listaParcelas.Add(parc);
                    }
                    carregaDGV(listaParcelas);
                    mskValorTotoalPagar.Text = total + "";
                }
                else
                {
                    MessageBox.Show("Digite o numero de parcelas!");
                }
            }
        }
Example #3
0
        private void cancelarClose()
        {
            Controller.ContasPagarController contasPagarController = new Controller.ContasPagarController();

            Controller.CompraController compraController = new Controller.CompraController();
            Entidades.Compra            compra           = new Entidades.Compra();

            Controller.DespesaController despesaController = new Controller.DespesaController();
            Entidades.Despesa            despesa           = new Entidades.Despesa();

            Controller.PessoaController pessoaController = new Controller.PessoaController();
            Entidades.Pessoa            pessoa           = new Entidades.Pessoa();

            Controller.CaixaController caixaController = new Controller.CaixaController();
            Entidades.Caixa            caixa           = new Entidades.Caixa();
            string codPessoa          = "";
            double valorParcelasTotal = Convert.ToDouble(mskValorTotal.Text.ToString());

            DataTable dt = compraController.retornaCompra(codCompra);

            if (dt != null && dt.Rows.Count > 0)
            {
                DataRow dr = dt.Rows[0];
                compra        = new Entidades.Compra();
                compra.Codigo = Convert.ToInt32(dr["codcompra"].ToString());

                compra.Data       = Convert.ToDateTime(dr["comp_datacompra"].ToString());
                compra.Situacao   = dr["comp_situacao"].ToString();
                compra.Consignado = Convert.ToBoolean(dr["comp_statusconsignado"].ToString());
                compra.ValorTotal = Convert.ToDouble(dr["comp_valortotal"].ToString());
                compra.Obs        = dr["comp_obs"].ToString();

                codPessoa            = dr["codpessoa"].ToString();
                compra.Pessoa.Codigo = Convert.ToInt32(dr["codpessoa"].ToString());

                DataTable dtDespesa = despesaController.retornaObjDespesa("Compra");

                if (dtDespesa != null && dt.Rows.Count > 0)
                {
                    DataRow drDespesa = dtDespesa.Rows[0];
                    despesa.Codigo    = Convert.ToInt32(drDespesa["coddespesa"].ToString());
                    despesa.Descricao = drDespesa["desp_descricao"].ToString();
                    despesa.Status    = drDespesa["desp_status"].ToString();
                }

                compra.Despesa = despesa;

                DataTable dtPessoa = pessoaController.retornaPessoaCod(codPessoa);

                if (dtPessoa != null && dtPessoa.Rows.Count > 0)
                {
                    DataRow drPessoa = dtPessoa.Rows[0];
                    pessoa.Codigo = Convert.ToInt32(drPessoa["codPessoa"].ToString());
                    pessoa.Nome   = drPessoa["pes_nome"].ToString();
                }

                compra.Pessoa = pessoa;
            }

            DataTable dtCaixa = caixaController.retornacaixaAbetoDia();

            if (dtCaixa != null && dtCaixa.Rows.Count > 0)
            {
                DataRow drCaixa = dtCaixa.Rows[0];
                caixa.DataAbertura   = Convert.ToDateTime(drCaixa["caixa_datahoraabertura"].ToString());
                caixa.DataFechamento = Convert.ToDateTime(drCaixa["caixa_datahorafecha"].ToString());
                caixa.SaldoInicial   = Convert.ToDouble(drCaixa["caixa_saldoinicial"].ToString());
                caixa.Troco          = Convert.ToDouble(drCaixa["caixa_troco"].ToString());
                caixa.TotalEntrada   = Convert.ToDouble(drCaixa["caixa_totalentra"].ToString());
                caixa.TotalSaida     = Convert.ToDouble(drCaixa["caixa_totalsaida"].ToString());
            }



            if (dtpDataVencimento.Value.Date >= DateTime.Now.Date)
            {
                for (int i = 0; i < 1; i++)
                {
                    ContasPagar                = new Entidades.ContasPagar();
                    ContasPagar.Parcela        = 1;
                    ContasPagar.ValorTotal     = valorParcelasTotal;
                    ContasPagar.DataVencimento = dtpDataVencimento.Value.AddDays(30);
                    ContasPagar.CodParcela     = i + 1;
                    ContasPagar.ValorParcela   = valorParcelasTotal;
                    ContasPagar.Status         = false;
                    ContasPagar.Compra         = compra;
                    ContasPagar.Despesa        = despesa;
                    ContasPagar.Caixa          = caixa;
                    ContasPagar.FormaPagamento = new Entidades.FormaPagamento();
                    ContasPagar.Comissao       = new Entidades.Comissao();


                    listacontasPagars.Add(ContasPagar);
                }
                mskValorTotoalPagar.Text = Convert.ToString(valorParcelasTotal);
                mskValorTotoalPagar.Text = Convert.ToDouble(mskValorTotoalPagar.Text).ToString("###,###,##0.00");
            }



            int cod = contasPagarController.retornaMax();

            cod += 1;

            try
            {
                int  i     = 0;
                bool retur = false;

                while (i < listacontasPagars.Count && !retur)
                {
                    listacontasPagars.ElementAt(i).CodigoContasaPagar = cod;
                    listacontasPagars.ElementAt(i).Parcela            = listacontasPagars.Count;
                    int res = contasPagarController.insereLancamento(listacontasPagars.ElementAt(i));

                    if (res < 0)
                    {
                        MessageBox.Show("Erro");
                        retur = true;
                    }
                    else
                    {
                        i++;
                    }
                }
                if (listacontasPagars.ElementAt(0).DataVencimento.ToString("dd/MM/yyyy").Equals(DateTime.Now.ToString("dd/MM/yyyy")))
                {
                    mskValorTotal.Text = "";
                    Close();
                    Views.Funcoes_Fundamentais.QuitarDespesa quitarDespesas = new QuitarDespesa();
                    quitarDespesas.ShowDialog();
                }
                else
                {
                    MessageBox.Show("Parcelas geradas com sucesso!");
                    mskValorTotal.Text = "";
                    Close();
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Example #4
0
        private void cancelar()
        {
            double total = Convert.ToDouble(mskValorTotal.Text.ToString());

            Controller.CaixaController cxc  = new Controller.CaixaController();
            Entidades.Caixa            cx   = new Entidades.Caixa();
            Entidades.Parcela          parc = new Entidades.Parcela();
            DataTable dtCaixa = cxc.retornacaixaAbetoDia();

            if (dtCaixa != null && dtCaixa.Rows.Count > 0)
            {
                DataRow drCaixa = dtCaixa.Rows[0];
                cx.CodCaixa       = Convert.ToInt32(drCaixa["codcaixa"].ToString());
                cx.DataAbertura   = Convert.ToDateTime(drCaixa["caixa_datahoraabertura"].ToString());
                cx.DataFechamento = Convert.ToDateTime(drCaixa["caixa_datahorafecha"].ToString());
                cx.SaldoInicial   = Convert.ToDouble(drCaixa["caixa_saldoinicial"].ToString());
                cx.Troco          = Convert.ToDouble(drCaixa["caixa_troco"].ToString());
                cx.TotalEntrada   = Convert.ToDouble(drCaixa["caixa_totalentra"].ToString());
                cx.TotalSaida     = Convert.ToDouble(drCaixa["caixa_totalsaida"].ToString());
            }
            parc                = new Entidades.Parcela();
            parc.Codigo         = 1;
            parc.DataPagamento  = DateTime.MinValue;
            parc.DataVencimento = dtpDataVencimento.Value.AddDays(30);
            parc.ValorPago      = 0;
            parc.ValorReceber   = total;
            parc.Forma          = new Entidades.FormaPagamento();
            parc.Caixa          = cx;
            listaParcelas.Add(parc);

            if (!String.IsNullOrEmpty(tela))
            {
                if (listaParcelas.Count > 0)
                {
                    int rest = crc.gerarContasReceberF(this.codFechamento, listaParcelas, this.pes);
                    if (rest > 0)
                    {
                        MessageBox.Show("Parcelas geradas com sucesso!");
                        if (listaParcelas.ElementAt(0).DataVencimento.ToString("dd/MM/yyyy").Equals(DateTime.Now.ToString("dd/MM/yyyy")))
                        {
                            mskValorTotal.Text = "";
                            Close();
                            Views.Funcoes_Fundamentais.RF_F11_Quitar_Contas_a_Receber.QuitarContasReceber quitar = new QuitarContasReceber();
                            quitar.ShowDialog();
                        }
                        else
                        {
                            mskValorTotal.Text = "";
                            Close();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Erro ao gerar parcelas!");
                    }
                }
            }
            else
            {
                if (listaParcelas.Count > 0)
                {
                    int rest = crc.gerarContasReceber(this.cod, listaParcelas);
                    if (rest > 0)
                    {
                        MessageBox.Show("Parcelas geradas com sucesso!");
                        if (listaParcelas.ElementAt(0).DataVencimento.ToString("dd/MM/yyyy").Equals(DateTime.Now.ToString("dd/MM/yyyy")))
                        {
                            mskValorTotal.Text = "";
                            Close();
                            Views.Funcoes_Fundamentais.RF_F11_Quitar_Contas_a_Receber.QuitarContasReceber quitar = new QuitarContasReceber();
                            quitar.ShowDialog();
                        }
                        else
                        {
                            mskValorTotal.Text = "";
                            Close();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Erro ao gerar parcelas!");
                    }
                }
            }
        }
Example #5
0
        private void btnIncluir_Click(object sender, EventArgs e)
        {
            Controller.ContasPagarController contasPagarController = new Controller.ContasPagarController();

            Controller.CompraController compraController = new Controller.CompraController();
            Entidades.Compra            compra           = new Entidades.Compra();

            Controller.DespesaController despesaController = new Controller.DespesaController();
            Entidades.Despesa            despesa           = new Entidades.Despesa();

            Controller.PessoaController pessoaController = new Controller.PessoaController();
            Entidades.Pessoa            pessoa           = new Entidades.Pessoa();

            Controller.CaixaController caixaController = new Controller.CaixaController();
            Entidades.Caixa            caixa           = new Entidades.Caixa();
            string    codPessoa = "";
            int       k         = listacontasPagars.Count;
            DataTable dt        = compraController.retornaCompra(codCompra);

            double valorParcelasTotal = 0;

            if (dt != null && dt.Rows.Count > 0)
            {
                DataRow dr = dt.Rows[0];
                compra        = new Entidades.Compra();
                compra.Codigo = Convert.ToInt32(dr["codcompra"].ToString());

                compra.Data       = Convert.ToDateTime(dr["comp_datacompra"].ToString());
                compra.Situacao   = dr["comp_situacao"].ToString();
                compra.Consignado = Convert.ToBoolean(dr["comp_statusconsignado"].ToString());
                compra.ValorTotal = Convert.ToDouble(dr["comp_valortotal"].ToString());
                compra.Obs        = dr["comp_obs"].ToString();

                codPessoa            = dr["codpessoa"].ToString();
                compra.Pessoa.Codigo = Convert.ToInt32(dr["codpessoa"].ToString());

                DataTable dtDespesa = despesaController.retornaObjDespesa("Compra");

                if (dtDespesa != null && dt.Rows.Count > 0)
                {
                    DataRow drDespesa = dtDespesa.Rows[0];
                    despesa.Codigo    = Convert.ToInt32(drDespesa["coddespesa"].ToString());
                    despesa.Descricao = drDespesa["desp_descricao"].ToString();
                    despesa.Status    = drDespesa["desp_status"].ToString();
                }

                compra.Despesa = despesa;

                DataTable dtPessoa = pessoaController.retornaPessoaCod(codPessoa);

                if (dtPessoa != null && dtPessoa.Rows.Count > 0)
                {
                    DataRow drPessoa = dtPessoa.Rows[0];
                    pessoa.Codigo = Convert.ToInt32(drPessoa["codPessoa"].ToString());
                    pessoa.Nome   = drPessoa["pes_nome"].ToString();
                }

                compra.Pessoa = pessoa;
            }

            DataTable dtCaixa = caixaController.retornacaixaAbetoDia();

            if (dtCaixa != null && dtCaixa.Rows.Count > 0)
            {
                DataRow drCaixa = dtCaixa.Rows[0];
                caixa.DataAbertura   = Convert.ToDateTime(drCaixa["caixa_datahoraabertura"].ToString());
                caixa.DataFechamento = Convert.ToDateTime(drCaixa["caixa_datahorafecha"].ToString());
                caixa.SaldoInicial   = Convert.ToDouble(drCaixa["caixa_saldoinicial"].ToString());
                caixa.Troco          = Convert.ToDouble(drCaixa["caixa_troco"].ToString());
                caixa.TotalEntrada   = Convert.ToDouble(drCaixa["caixa_totalentra"].ToString());
                caixa.TotalSaida     = Convert.ToDouble(drCaixa["caixa_totalsaida"].ToString());
            }

            if (!cbManual.Checked)
            {
                try
                {
                    if (string.IsNullOrWhiteSpace(ttbQtdeParcela.Text))
                    {
                        MessageBox.Show("Informe uma valor para a parcela ou 0");
                    }


                    if (dtpDataVencimento.Value.Date >= DateTime.Now.Date)
                    {
                        double valorParc = Convert.ToDouble(mskValorTotal.Text) / Convert.ToInt32(ttbQtdeParcela.Text);
                        valorParc = Convert.ToDouble(valorParc.ToString("#.##"));
                        double resto = Convert.ToDouble(mskValorTotal.Text) - (Convert.ToInt32(ttbQtdeParcela.Text) * valorParc);
                        if (resto > 0)
                        {
                            resto = Convert.ToDouble(resto.ToString("#.##"));
                        }

                        for (int i = 0; i < Convert.ToInt32(ttbQtdeParcela.Text); i++)
                        {
                            ContasPagar                = new Entidades.ContasPagar();
                            ContasPagar.Parcela        = Convert.ToInt32(ttbQtdeParcela.Text);
                            ContasPagar.ValorTotal     = Convert.ToDouble(mskValorTotal.Text);
                            ContasPagar.DataVencimento = dtpDataVencimento.Value.AddDays(i * 30);
                            ContasPagar.CodParcela     = i + 1;
                            if (i + 1 == Convert.ToInt32(ttbQtdeParcela.Text))
                            {
                                ContasPagar.ValorParcela = valorParc + resto;
                            }
                            else
                            {
                                ContasPagar.ValorParcela = valorParc;
                            }
                            ContasPagar.Status         = false;
                            ContasPagar.Compra         = compra;
                            ContasPagar.Despesa        = despesa;
                            ContasPagar.Caixa          = caixa;
                            ContasPagar.FormaPagamento = new Entidades.FormaPagamento();
                            ContasPagar.Comissao       = new Entidades.Comissao();


                            listacontasPagars.Add(ContasPagar);
                        }
                        valorParcelasTotal      += ContasPagar.Parcela * ContasPagar.ValorParcela;
                        mskValorTotoalPagar.Text = Convert.ToString(valorParcelasTotal);
                        mskValorTotoalPagar.Text = Convert.ToDouble(mskValorTotoalPagar.Text).ToString("###,###,##0.00");
                        carregaDGV(listacontasPagars);
                    }
                    else
                    {
                        MessageBox.Show("Data inválida.");
                    }
                }
                catch (Exception)
                {
                    throw;
                }
            }
            else
            {
                //insere parcela manual

                double total   = Convert.ToDouble(mskValorTotal.Text);
                double parcela = Convert.ToDouble(mskValorParcela.Text);
                parcela = Convert.ToDouble(parcela.ToString("#.##"));
                if (total >= somaValor(listacontasPagars) + parcela)
                {
                    ContasPagar                = new Entidades.ContasPagar();
                    ContasPagar.ValorTotal     = total;
                    ContasPagar.DataVencimento = dtpDataVencimento.Value;
                    ContasPagar.CodParcela     = k + 1;
                    ContasPagar.ValorParcela   = parcela;
                    ContasPagar.Status         = false;
                    ContasPagar.Compra         = compra;
                    ContasPagar.Despesa        = despesa;
                    ContasPagar.Caixa          = caixa;
                    ContasPagar.FormaPagamento = new Entidades.FormaPagamento();
                    ContasPagar.Comissao       = new Entidades.Comissao();
                    listacontasPagars.Add(ContasPagar);
                    carregaDGV(listacontasPagars);
                    valorParcelasTotal       = somaValor(listacontasPagars);
                    mskValorTotoalPagar.Text = Convert.ToString(valorParcelasTotal);
                    mskValorTotoalPagar.Text = Convert.ToDouble(mskValorTotoalPagar.Text).ToString("###,###,##0.00");
                }
                else
                {
                    MessageBox.Show("Valor ultrapassa o total");
                }
            }
        }