private List <ParcelaContaReceber> LeDadosReader(List <Dictionary <string, object> > data) { var parcelas = new List <ParcelaContaReceber>(); if (data.Count == 0) { return(parcelas); } foreach (var d in data) { var parcela = new ParcelaContaReceber(); parcela.ParcelaContaReceberID = Convert.ToInt32(d["idparcela_conta_receber"]); parcela.Sequencia = Convert.ToInt32(d["sequencia"]); parcela.DataVencimento = (DateTime)d["data_vencimento"]; parcela.Valor = (decimal)d["valor"]; parcela.Multa = (decimal)d["multa"]; parcela.Juros = (decimal)d["juros"]; parcela.Acrescimo = (decimal)d["acrescimo"]; parcela.Desconto = (decimal)d["desconto"]; parcela.DataQuitacao = (DateTime?)d["data_quitacao"]; parcela.ContaReceberID = Convert.ToInt32(d["idconta_receber"]); parcelas.Add(parcela); } return(parcelas); }
private ContaReceber LeDadosReader(List <Dictionary <string, object> > data) { if (data.Count == 0) { return(null); } var contaReceber = new ContaReceber(); var listaparcelas = new List <ParcelaContaReceber>(); contaReceber.ContaReceberID = Convert.ToInt32(data[0]["idconta_receber"]); contaReceber.DataCadastro = (DateTime)data[0]["data_cadastro"]; contaReceber.Descricao = (string)data[0]["crdescricao"]; contaReceber.DataConta = (DateTime)data[0]["data_conta"]; contaReceber.ValorOriginal = (decimal)data[0]["valor_original"]; contaReceber.Multa = (decimal)data[0]["multa"]; contaReceber.Juros = (decimal)data[0]["juros"]; contaReceber.Acrescimo = (decimal)data[0]["acrescimo"]; contaReceber.Desconto = (decimal)data[0]["desconto"]; contaReceber.ValorFinal = (decimal)data[0]["valor_final"]; contaReceber.Situacao = (string)data[0]["situacao"]; contaReceber.Operacao = new Operacao(); contaReceber.Operacao.OperacaoID = Convert.ToInt32(data[0]["idoperacao"]); contaReceber.Pessoa = new Pessoa(); contaReceber.Pessoa.PessoaID = Convert.ToInt32(data[0]["idpessoa"]); foreach (var d in data) { var parcela = new ParcelaContaReceber(); var formapagamento = new FormaPagamento(); if (d["pformapagamento"] != null) { formapagamento.FormaPagamentoID = Convert.ToInt32(d["pformapagamento"]); formapagamento.Nome = (string)d["nome"]; } else { formapagamento = null; } parcela.ParcelaContaReceberID = Convert.ToInt32(d["idparcela_conta_receber"]); parcela.DataQuitacao = (DateTime?)d["data_quitacao"]; parcela.DataVencimento = (DateTime)d["data_vencimento"]; parcela.Descricao = (string)d["crdescricao"]; parcela.Juros = (decimal)d["pjuros"]; parcela.Acrescimo = (decimal)d["pacrescimo"]; parcela.Desconto = (decimal)d["pdesconto"]; parcela.Multa = (decimal)d["pmulta"]; parcela.Sequencia = Convert.ToInt32(d["sequencia"]); parcela.Valor = (decimal)d["valor"]; parcela.Situacao = (string)d["psituacao"]; parcela.FormaPagamento = formapagamento; listaparcelas.Add(parcela); } contaReceber.Parcelas = listaparcelas; return(contaReceber); }
private void DgvParcelas_CurrentCellChanged(object sender, EventArgs e) { if (dgvParcelas.SelectedRows.Count > 0) { int selectedRowIndex = dgvParcelas.SelectedCells[0].RowIndex; DataGridViewRow selectedRow = dgvParcelas.Rows[selectedRowIndex]; parcelaSelecionada = parcelas.Find(p => p.Sequencia == Convert.ToInt32(selectedRow.Cells[0].Value)); PreencheCamposParcelas(parcelaSelecionada); btSalvarParcela.Enabled = true; } }
private void LimpaCamposParcela() { dbValorOriginalParcela.Valor = 0.00m; dbValorFinalParcela.Valor = 0.00m; dbMultaParcela.Valor = 0.00m; dbJurosParcela.Valor = 0.00m; dbAcrescimoParcela.Valor = 0.00m; dbDescontoParcela.Valor = 0.00m; tbFormaPagamentoParcela.Clear(); tbSituacaoParcela.Clear(); this.parcelaSelecionada = null; }
private void GerarParcelas() { if (buscaOperacao.operacao == null) { MessageBox.Show("Você deve selecionar um operação para gerar as parcelas!", "Operação não selecionada", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } parcelas.Clear(); dgvParcelas.Rows.Clear(); dgvParcelas.Refresh(); dbMultaConta.Valor = 0.00m; dbJurosConta.Valor = 0.00m; dbAcrescimoParcela.Valor = 0.00m; dbDescontoParcela.Valor = 0.00m; dbValorOriginalConta.Valor = 0.00m; dbValorFinalConta.Valor = 0.00m; var parcelasOperacao = buscaOperacao.operacao.Parcelas; int sequencia = 1; foreach (var parcela in parcelasOperacao) { var par = new ParcelaContaReceber { Sequencia = sequencia, DataVencimento = dtpDataConta.Value.AddDays(parcela.Dias), Multa = 0.00m, Juros = 0.00m, Valor = dbValorContaGerar.Valor / parcelasOperacao.Count, Acrescimo = dbValorContaGerar.Valor * buscaOperacao.operacao.Acrescimo / 100 / parcelasOperacao.Count, Situacao = "Aberto" }; sequencia++; this.parcelas.Add(par); dbValorOriginalConta.Valor += par.Valor; dbAcrescimoConta.Valor += par.Acrescimo; dbDescontoParcela.Valor += par.Desconto; dbValorFinalConta.Valor += par.Valor + par.Acrescimo - par.Desconto; } PreencheGridParcelas(parcelas); }
public ParcelaContaReceber BuscaByID(string codigo) { ParcelaContaReceber parcelaContaReceber = null; using (MySQLConn sql = new MySQLConn(Configuracao.Conecta)) { sql.Query = @"SELECT * FROM parcela_conta_receber pcr LEFT JOIN conta_receber cr ON pcr.idconta_receber = cr.idconta_receber WHERE idparcela_conta_receber = @idparcela_conta_receber"; sql.addParam("@idparcela_conta_receber", codigo); var data = sql.selectQuery(); if (data == null) { return(null); } parcelaContaReceber = LeDadosReader(data)[0]; } return(parcelaContaReceber); }
private void PreencheCamposParcelas(ParcelaContaReceber parcela) { tbCodigoParcela.Text = parcela.Sequencia.ToString(); dtpDataVencimentoParcela.Value = parcela.DataVencimento; dbValorOriginalParcela.Valor = parcela.Valor; dbMultaParcela.Valor = parcela.Multa; dbJurosParcela.Valor = parcela.Juros; dbAcrescimoParcela.Valor = parcela.Acrescimo; dbDescontoParcela.Valor = parcela.Desconto; dbValorFinalParcela.Valor = parcela.ValorFinal; tbSituacaoParcela.Text = parcela.Situacao; tbDataQuitacao.Text = parcela.DataQuitacao != null?parcela.DataQuitacao.Value.ToShortDateString() : ""; if (parcela.FormaPagamento != null) { tbFormaPagamentoParcela.Text = parcela.FormaPagamento.Nome; } else { tbFormaPagamentoParcela.Clear(); } }
private CaixaLancamento LeDadosReaderComPlanos(Dictionary <string, object> data) { var planoConta = new PlanoConta(); planoConta.PlanoContaID = Convert.ToInt32(data["idcaixa_plano_contas"]); planoConta.Codigo = Convert.ToInt32(data["cpc_codigo"]); planoConta.Level = Convert.ToInt32(data["level"]); planoConta.PaiID = Convert.ToInt32(data["paiid"]); planoConta.Descricao = (string)data["descricao"]; planoConta.CodigoCompleto = (string)data["codigo_completo"]; var caixa = new Caixa(); caixa.CaixaID = Convert.ToInt32(data["idcaixa"]); caixa.Codigo = Convert.ToInt32(data["caixa_codigo"]); caixa.Nome = (string)data["nome"]; var parcelaCAR = new ParcelaContaReceber(); var parcelaCAP = new ParcelaContaPagar(); var notafiscalpropria = new NotaFiscalPropria(); var notafiscalterceiros = new NotaFiscalTerceiros(); var caixaLancamento = new CaixaLancamento(); caixaLancamento.PlanoConta = planoConta; caixaLancamento.Caixa = caixa; caixaLancamento.CaixaLancamentoID = Convert.ToInt32(data["idcaixa_lancamento"]); caixaLancamento.Data = (DateTime)data["data"]; caixaLancamento.Valor = (decimal)data["valor"]; caixaLancamento.TipoMovimento = Convert.ToInt32(data["tipomovimento"]); caixaLancamento.TipoDocumento = Convert.ToInt32(data["tipodocumento"]); caixaLancamento.Lancamento = Convert.ToInt32(data["lancamento"]); caixaLancamento.Documento = (string)data["documento"]; return(caixaLancamento); }
private void GerarParcelas() { if (buscaOperacao.operacao == null) { MessageBox.Show("Você deve selecionar um operação para gerar as parcelas!", "Operação não selecionada", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } parcelas.Clear(); var parcelasOperacao = buscaOperacao.operacao.Parcelas; jurosparcela = dbJurosTotal.Valor / parcelasOperacao.Count; descontoparcela = dbDescontoDocumento.Valor / parcelasOperacao.Count; int sequencia = 1; foreach (var parcela in parcelasOperacao) { var par = new ParcelaContaReceber { Sequencia = sequencia, DataVencimento = dtpSaida.Value.AddDays(parcela.Dias), Multa = 0.00m, Juros = jurosparcela, Valor = dbValorTotalItens.Valor / parcelasOperacao.Count, Acrescimo = dbValorTotalDocumento.Valor * buscaOperacao.operacao.Acrescimo / 100 / parcelasOperacao.Count, Desconto = descontoparcela, Descricao = tbDescricao.Text, Situacao = "Aberto" }; sequencia++; this.parcelas.Add(par); } }
public IEnumerable <ContaReceber> Busca(fmCarBuscaContaReceber.Filtros f) { var ListaContasReceber = new List <ContaReceber>(); var parcelaContaReceber = new ParcelaContaReceber(); string wherePessoa = f.filtroPessoa != null ? "AND p.idpessoa = @idpessoa" : ""; string whereOperacao = f.filtroOperacao != null ? "AND op.idoperacao = @idoperacao" : ""; string whereValorFinal = f.usarvalorContaFiltro ? "AND cr.valor_final BETWEEN @valor_conta_inicial AND @valor_conta_final" : ""; string whereDatCadastro = f.usardataCadastroFiltro ? "AND cr.data_cadastro BETWEEN @data_cadastro_inicial AND @data_cadastro_final" : ""; string whereDataVencimento = f.usardataVencimentoFiltro ? "AND pa.data_vencimento BETWEEN @data_vencimento_inicial AND @data_vencimento_final" : ""; using (MySQLConn sql = new MySQLConn(Configuracao.Conecta)) { sql.Query = @"SELECT cr.idconta_receber, p.idpessoa, p.nome, cr.data_cadastro, cr.data_conta, op.idoperacao, op.nome as nomeoperacao, cr.valor_original, cr.multa, cr.juros, cr.valor_final, cr.acrescimo, cr.desconto, pa.data_vencimento, cr.situacao, cr.descricao AS crdescricao FROM conta_receber cr LEFT JOIN operacao op ON cr.idoperacao = op.idoperacao LEFT JOIN pessoa p ON cr.idpessoa = p.idpessoa LEFT JOIN parcela_conta_receber pa ON pa.idconta_receber = cr.idconta_receber WHERE 1 = 1 " + wherePessoa + " " + whereOperacao + " " + whereValorFinal + " " + whereDatCadastro + " " + whereDataVencimento + " " + "GROUP BY cr.idconta_receber"; if (f.filtroPessoa != null) { sql.addParam("@idpessoa", f.filtroPessoa.PessoaID); } if (f.filtroOperacao != null) { sql.addParam("@idoperacao", f.filtroOperacao.OperacaoID); } if (f.usarvalorContaFiltro) { sql.addParam("@valor_conta_inicial", f.filtroValorInicial); sql.addParam("@valor_conta_final", f.filtroValorFinal); } if (f.usardataCadastroFiltro) { sql.addParam("@data_cadastro_inicial", f.filtroDataCadastroInicial); sql.addParam("@data_cadastro_final", f.filtroDataCadastroFinal); } if (f.usardataVencimentoFiltro) { sql.addParam("@data_vencimento_inicial", f.filtroDataVencimentoInicial); sql.addParam("@data_vencimento_final", f.filtroDataVencimentoFinal); } var data = sql.selectQuery(); foreach (var d in data) { Operacao operacao = null; Pessoa pessoa = null; pessoa = new Pessoa { PessoaID = Convert.ToInt32(d["idpessoa"]), Nome = (string)d["nome"] }; operacao = new Operacao { OperacaoID = Convert.ToInt32(d["idoperacao"]), Nome = (string)d["nomeoperacao"] }; var contaReceber = new ContaReceber { ContaReceberID = Convert.ToInt32(d["idconta_receber"]), DataCadastro = (DateTime)d["data_cadastro"], DataConta = (DateTime)d["data_conta"], Descricao = (string)d["crdescricao"], ValorOriginal = (decimal)d["valor_original"], Multa = (decimal)d["multa"], Juros = (decimal)d["juros"], Acrescimo = (decimal)d["acrescimo"], Desconto = (decimal)d["desconto"], ValorFinal = (decimal)d["valor_final"], Situacao = (string)d["situacao"] }; contaReceber.Pessoa = pessoa; contaReceber.Operacao = operacao; ListaContasReceber.Add(contaReceber); } } return(ListaContasReceber); }
private void CancelarNota() { decimal Pago = 0, Aberto = 0, Devolucao = 0; multacancelamento = (notaFiscalPropria.ValorTotalDocumento * multacancelamento) / 100; foreach (var p in notaFiscalPropria.ContaReceber.Parcelas) { switch (p.Situacao) { case "Pago": Pago += p.ValorFinal; break; case "Aberto": Aberto += p.ValorFinal; break; } } Devolucao = Pago - multacancelamento; if (Devolucao > 0) { MessageBox.Show("Escolha o caixa em que o lançamento será realizado", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); Caixa caixa = new Caixa(); var buscaCaixa = new fmCaiBuscaCaixa(); buscaCaixa.ShowDialog(); if (buscaCaixa.caixaSelecionada == null) { MessageBox.Show("Caixa não selecionado, operação interrompida!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } caixa = buscaCaixa.caixaSelecionada; PlanoContaDAO planocontaDAO = new PlanoContaDAO(); PlanoConta planoconta = new PlanoConta(); planoconta = planocontaDAO.BuscaByID(2); caixalancemnto = new CaixaLancamento { Data = DateTime.Today, Valor = Devolucao, TipoMovimento = 1, TipoDocumento = 6, Lancamento = 1, Caixa = caixa, PlanoConta = planoconta }; var resultado = caixalancamentoDAO.DevolucaoCancelamento(caixalancemnto); if (resultado > 0) { MessageBox.Show("Lançamento realizado com sucesso!", "Conta gerada", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Problema ao realizar lançamento", "Problema ao gerar", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } if (Devolucao < 0) { //Gerar conta a receber com valor MULTA POR CANCELAMENTO DE NOTA Devolucao = Devolucao * -1; var par = new ParcelaContaReceber { Sequencia = 1, DataVencimento = DateTime.Today.AddDays(30), Multa = 0.00m, Juros = 0, Valor = Devolucao, Acrescimo = 0, Desconto = 0, Descricao = "Multa por cancelamento de nota", Situacao = "Aberto" }; List <ParcelaContaReceber> parcelasmulta = new List <ParcelaContaReceber>(); parcelasmulta.Add(par); var contaReceberMulta = new ContaReceber { ContaReceberID = contaReceberDAO.BuscaProxCodigoDisponivel(), DataCadastro = DateTime.Today, DataConta = dtpSaida.Value, Pessoa = buscaPessoa.pessoa, Operacao = buscaOperacao.operacao, ValorOriginal = Devolucao, Multa = 0m, Juros = 0m, ValorFinal = Devolucao, Acrescimo = 0m, Desconto = 0m, Situacao = "Aberto", Descricao = "Multa por cancelamento de nota", Entrada = 0m, Parcelas = parcelas }; int resultado = contaReceberDAO.SalvaOuAtualiza(contaReceberMulta); if (resultado > 0) { MessageBox.Show("Conta a Receber gerada com sucesso!", "Conta gerada", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Problema ao gerar conta a receber", "Problema ao gerar", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } var retorno = notaFiscalPropriaDAO.CancelarNota(notaFiscalPropria); if (retorno > 0) { MessageBox.Show("Nota cancelada com sucesso!", "Conta gerada", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Problema ao cancelar nota", "Problema ao gerar", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }