/// <summary> /// Obtém movimentações da conta / caixa no período especificado /// </summary> private void ObterMovimentacaoPeriodo() { DateTime dataInicial = dateTimePickerInicial.Value.Date; DateTime dataFinal = dateTimePickerFinal.Value.Date; dataFinal = dataFinal.AddMinutes(24 * 60); int codContaBanco = (int)codContaBancoComboBox.SelectedValue; IEnumerable <TotaisMovimentacaoConta> totaisMovimentacaoConta = GerenciadorMovimentacaoConta.GetInstance(null).ObterTotalMovimentacaoContaPeriodo(codContaBanco, dataInicial, dataFinal); totaisMovimentacaoContaBindingSource.DataSource = totaisMovimentacaoConta; textTotalMovimentacao.Text = totaisMovimentacaoConta.Sum(t => t.TotalMovimentacaoConta).ToString("N2"); IEnumerable <TotalPagamentoSaida> totaisSaida = GerenciadorSaidaPagamento.GetInstance(null).ObterTotalPagamentoSaida(dataInicial, dataFinal); TotalPagamentoSaida totalPagamentoSaidaDinheiro = totaisSaida.Where(t => t.CodFormaPagamentos.Equals(FormaPagamento.DINHEIRO)).FirstOrDefault(); if (totalPagamentoSaidaDinheiro != null) { decimal trocoPorPeriodo = GerenciadorSaida.GetInstance(null).ObterTrocoPorPeriodo(dataInicial, dataFinal); totalPagamentoSaidaDinheiro.TotalPagamento -= trocoPorPeriodo; } totaisSaidaBindingSource.DataSource = totaisSaida; textTotalVendas.Text = totaisSaida.Sum(t => t.TotalPagamento).ToString("N2"); IEnumerable <VendasCartao> vendasCartao = GerenciadorSaidaPagamento.GetInstance(null).ObterVendasCartao(dataInicial, dataFinal); VendasCartaoBindingSource.DataSource = vendasCartao; textTotalCartao.Text = vendasCartao.Sum(t => t.TotalCartao).ToString("N2"); }
private void tb_contaBindingSource_CurrentChanged(object sender, EventArgs e) { if (codContaTextBox.Text != "") { movimentacaoContaBindingSource.DataSource = GerenciadorMovimentacaoConta.GetInstance(null).ObterPorConta(Convert.ToInt64(codContaTextBox.Text)); } }
private void ListarPagamentosContasSelecionadas() { var contasExibidas = new List <Int64>(); for (int i = 0; i < contasPessoaDataGridView.SelectedRows.Count; i++) { contasExibidas.Add((long)contasPessoaDataGridView.SelectedRows[i].Cells[0].Value); } movimentacaoContaBindingSource.DataSource = GerenciadorMovimentacaoConta.GetInstance(null).ObterPorContas(contasExibidas); }
/// <summary> /// Obtém movimentações da conta / caixa no período especificado /// </summary> private void ObterMovimentacaoPeriodo() { DateTime dataInicial = dateTimePickerInicial.Value.Date; DateTime dataFinal = dateTimePickerFinal.Value.Date; dataFinal = dataFinal.AddDays(1).AddSeconds(-1); int codContaBanco = (int)codContaBancoComboBox.SelectedValue; IEnumerable <TotaisMovimentacaoConta> totaisMovimentacaoConta = GerenciadorMovimentacaoConta.GetInstance(null).ObterTotalMovimentacaoContaPeriodo(codContaBanco, dataInicial, dataFinal); totaisMovimentacaoContaBindingSource.DataSource = totaisMovimentacaoConta; textTotalMovimentacao.Text = totaisMovimentacaoConta.Sum(t => t.TotalMovimentacaoConta).ToString("N2"); IEnumerable <TotalPagamentoSaida> totaisSaida = GerenciadorSaidaPagamento.GetInstance(null).ObterTotalPagamentoSaida(dataInicial, dataFinal); TotalPagamentoSaida totalPagamentoSaidaDinheiro = totaisSaida.Where(t => t.CodFormaPagamentos.Equals(FormaPagamento.DINHEIRO)).FirstOrDefault(); if (totalPagamentoSaidaDinheiro != null) { decimal trocoPorPeriodo = GerenciadorSaida.GetInstance(null).ObterTrocoPorPeriodo(dataInicial, dataFinal); totalPagamentoSaidaDinheiro.TotalPagamento -= trocoPorPeriodo; } totaisSaidaBindingSource.DataSource = totaisSaida; textTotalVendas.Text = totaisSaida.Sum(t => t.TotalPagamento).ToString("N2"); IEnumerable <VendasCartao> vendasCartao = GerenciadorSaidaPagamento.GetInstance(null).ObterVendasCartao(dataInicial, dataFinal); IEnumerable <VendasCartao> redeCredito = vendasCartao.Where(vendas => vendas.CodCartao != BANESECARD_CREDITO && vendas.TipoCartao != "DEBITO"); IEnumerable <VendasCartao> redeDebito = vendasCartao.Where(vendas => vendas.TipoCartao == "DEBITO"); IEnumerable <VendasCartao> baneseCredito = vendasCartao.Where(vendas => vendas.CodCartao == BANESECARD_CREDITO); vendasCartaoRede.DataSource = RemoverDuplicados(redeCredito.Union(redeDebito)); vendasCartaoBaneseCredito.DataSource = RemoverDuplicados(baneseCredito); totalCreditoRede.Text = redeCredito.Sum(t => t.TotalCartao).ToString("N2"); totalDebitoRede.Text = redeDebito.Sum(t => t.TotalCartao).ToString("N2"); totalRede.Text = (redeCredito.Sum(t => t.TotalCartao) + redeDebito.Sum(t => t.TotalCartao)).ToString("N2"); totalCreditoBanese.Text = baneseCredito.Sum(t => t.TotalCartao).ToString("N2"); }
private void btnSalvar_Click(object sender, EventArgs e) { if (MessageBox.Show("Confirma registro de pagamento?", "Confirmar Pagamento", MessageBoxButtons.YesNo) == DialogResult.Yes) { Cursor.Current = Cursors.WaitCursor; int formaPagamento = int.Parse(codFormaPagamentoComboBox.SelectedValue.ToString()); decimal valorPagamento = Convert.ToDecimal(valorPagamentoTextBox.Text); decimal totalPago = Convert.ToDecimal(totalPagamentosTextBox.Text); decimal faltaReceber = Convert.ToDecimal(faltaReceberTextBox.Text); if (valorPagamento > faltaReceber) { codFormaPagamentoComboBox.Focus(); Cursor.Current = Cursors.Default; throw new TelaException("O valor do pagamento não pode ser maior que o valor a receber."); } // Adicionar todas as saídas e totais para impressão do documento fiscal List <SaidaPedido> listaSaidaPedido = new List <SaidaPedido>(); List <long> listaContas = new List <long>(); for (int i = contasPessoaDataGridView.SelectedRows.Count - 1; i >= 0; i--) { listaContas.Add(Convert.ToInt64(contasPessoaDataGridView.SelectedRows[i].Cells[0].Value.ToString())); //codConta long codSaidaTemp = Convert.ToInt64(contasPessoaDataGridView.SelectedRows[i].Cells[1].Value.ToString()); //codSaida decimal valorAVistaTemp = Convert.ToDecimal(contasPessoaDataGridView.SelectedRows[i].Cells[9].Value.ToString()); //totalAVista if (listaSaidaPedido.Where(sp => sp.CodSaida.Equals(codSaidaTemp)).Count() == 0) { listaSaidaPedido.Add(new SaidaPedido() { CodSaida = codSaidaTemp, TotalAVista = valorAVistaTemp }); } } // cupom fiscal pode ser impresso quando todas as contas associadas a uma saída estiverem selecionadas bool podeImprimirCF = (valorPagamento == faltaReceber); if (podeImprimirCF) { foreach (SaidaPedido saidaPedido in listaSaidaPedido) { List <Conta> contas = (List <Conta>)GerenciadorConta.GetInstance(null).ObterPorSaida(saidaPedido.CodSaida); foreach (Conta conta in contas) { if ((!listaContas.Contains(conta.CodConta)) || ((conta.CF != null) && !conta.CF.Trim().Equals(""))) { podeImprimirCF = false; break; } } if (!podeImprimirCF) { break; } } } //if (formaPagamento.Equals(FormaPagamento.CARTAO) && !podeImprimirCF) //{ // Cursor.Current = Cursors.Default; // throw new TelaException("Não é possível realizar o pagamento com cartão de crédito. Verifique se alguma NFe referente às contas selecionadas já foi impresso OU se todas as contas referente às saídas escolhidas estão selecionadas."); //} if (formaPagamento.Equals(FormaPagamento.DINHEIRO) || formaPagamento.Equals(FormaPagamento.DEPOSITO) || formaPagamento.Equals(FormaPagamento.CARTAO)) //&& podeImprimirCF)) { AtualizarValoresDescontosContas(); if (formaPagamento.Equals(FormaPagamento.DINHEIRO) || formaPagamento.Equals(FormaPagamento.DEPOSITO)) { MovimentacaoConta movimentacao = new MovimentacaoConta(); movimentacao.CodConta = listaContas.ElementAt(0); // valor é irrelevante if (formaPagamento.Equals(FormaPagamento.DINHEIRO)) { movimentacao.CodContaBanco = Global.CAIXA_PADRAO; } else { movimentacao.CodContaBanco = (int)codContaBancoComboBox.SelectedValue; } movimentacao.CodResponsavel = pessoa.CodPessoa; movimentacao.CodTipoMovimentacao = TipoMovimentacaoConta.RECEBIMENTO_CREDIARIO; movimentacao.DataHora = DateTime.Now; movimentacao.Valor = valorPagamento; List <MovimentacaoConta> listaMovimentacaoConta = (List <MovimentacaoConta>)movimentacaoContaBindingSource.DataSource; GerenciadorMovimentacaoConta.GetInstance(null).Inserir(movimentacao, listaContas, listaMovimentacaoConta); Cursor.Current = Cursors.Default; if (podeImprimirCF && MessageBox.Show("Deseja imprimir NFe/NFCe das contas selecionadas?", "Confirmar Impressão", MessageBoxButtons.YesNo) == DialogResult.Yes) { SaidaPagamento saidaPagamento = new SaidaPagamento(); FormaPagamento formaPagamentoDinheiro = GerenciadorFormaPagamento.GetInstance().Obter(FormaPagamento.DINHEIRO).ElementAt(0); saidaPagamento.CodFormaPagamento = formaPagamentoDinheiro.CodFormaPagamento; saidaPagamento.MapeamentoFormaPagamento = formaPagamentoDinheiro.Mapeamento; saidaPagamento.DescricaoFormaPagamento = formaPagamentoDinheiro.Descricao; saidaPagamento.Valor = valorPagamento; saidaPagamento.CodCartaoCredito = Global.CARTAO_LOJA; //saidaPagamento.CodContaBanco long codSolicitacao = GerenciadorSolicitacaoDocumento.GetInstance().InserirSolicitacaoDocumento(listaSaidaPedido, new List <SaidaPagamento>() { saidaPagamento }, DocumentoFiscal.TipoSolicitacao.NFCE, false, false); FrmSaidaAutorizacao frmSaidaAutorizacao = new FrmSaidaAutorizacao(listaSaidaPedido.FirstOrDefault().CodSaida, pessoa.CodPessoa, DocumentoFiscal.TipoSolicitacao.NFCE); frmSaidaAutorizacao.ShowDialog(); frmSaidaAutorizacao.Dispose(); } else if (!podeImprimirCF && MessageBox.Show("Deseja imprimir CRÉDITO para o cliente?", "Confirmar Impressão", MessageBoxButtons.YesNo) == DialogResult.Yes) { movimentacao.Valor = valorPagamento; GerenciadorSaida.GetInstance(null).ImprimirCreditoPagamento(movimentacao); } } else if (formaPagamento.Equals(FormaPagamento.CARTAO)) { List <SaidaPagamento> listaSaidaPagamento = new List <SaidaPagamento>(); //if (totalPago > 0) //{ // SaidaPagamento saidaPagamentoDinheiro = new SaidaPagamento(); // FormaPagamento formaPagamentoDinheiro = GerenciadorFormaPagamento.GetInstance().Obter(FormaPagamento.DINHEIRO).ElementAt(0); // saidaPagamentoDinheiro.CodFormaPagamento = FormaPagamento.DINHEIRO; // saidaPagamentoDinheiro.MapeamentoFormaPagamento = formaPagamentoDinheiro.Mapeamento; // saidaPagamentoDinheiro.DescricaoFormaPagamento = formaPagamentoDinheiro.Descricao; // saidaPagamentoDinheiro.Valor = totalPago; // listaSaidaPagamento.Add(saidaPagamentoDinheiro); //} SaidaPagamento saidaPagamentoCartao = new SaidaPagamento(); int codCartao = Convert.ToInt32(codCartaoComboBox.SelectedValue.ToString()); int parcelas = Convert.ToInt32(parcelasTextBox.Text); CartaoCredito cartaoCredito = GerenciadorCartaoCredito.GetInstance().Obter(codCartao).ElementAt(0); saidaPagamentoCartao.CodFormaPagamento = FormaPagamento.CARTAO; saidaPagamentoCartao.MapeamentoFormaPagamento = cartaoCredito.Mapeamento; saidaPagamentoCartao.MapeamentoCartao = cartaoCredito.Mapeamento; saidaPagamentoCartao.NomeCartaoCredito = cartaoCredito.Nome; saidaPagamentoCartao.DescricaoFormaPagamento = cartaoCredito.Nome; saidaPagamentoCartao.Valor = valorPagamento; saidaPagamentoCartao.Parcelas = parcelas; saidaPagamentoCartao.CodCartaoCredito = codCartao; listaSaidaPagamento.Add(saidaPagamentoCartao); if (podeImprimirCF) { long codSolicitacao = GerenciadorSolicitacaoDocumento.GetInstance().InserirSolicitacaoDocumento(listaSaidaPedido, listaSaidaPagamento, DocumentoFiscal.TipoSolicitacao.NFCE, false, false); FrmSaidaAutorizacao frmSaidaAutorizacao = new FrmSaidaAutorizacao(listaSaidaPedido.FirstOrDefault().CodSaida, pessoa.CodPessoa, DocumentoFiscal.TipoSolicitacao.NFCE); frmSaidaAutorizacao.ShowDialog(); frmSaidaAutorizacao.Dispose(); } if (MessageBox.Show("A compra foi confirmada pela administradora do cartão selecionado?", "Confirma Cartão de Crédito", MessageBoxButtons.YesNo) == DialogResult.Yes) { GerenciadorConta.GetInstance(null).QuitarContasCartaoCredito(listaContas, valorPagamento, cartaoCredito, parcelas); } } codClienteComboBox_Leave(sender, e); } } habilitaBotoes(true); btnNovo.Focus(); }
private void FrmSaidaPagamentoRecebido_Load(object sender, EventArgs e) { movimentacaoPeriodoBindingSource.DataSource = GerenciadorMovimentacaoConta.GetInstance(null).ObterMovimentacaoContaPeriodo(dataInicioDateTimePicker.Value, dataFinalDateTimePicker.Value); }