Exemplo n.º 1
0
        private void codClienteComboBox_Leave(object sender, EventArgs e)
        {
            pessoa = ComponentesLeave.PessoaComboBox_Leave(sender, e, codClienteComboBox, estado, pessoaBindingSource, true, true);


            CartaoCredito cartao = GerenciadorCartaoCredito.GetInstance().ObterTodos().Where(c => c.CodPessoa == pessoa.CodPessoa).ElementAtOrDefault(0);

            OrganizarTelaAdministradoraCartoes();
            if (cartao != null)
            {
                formaPagamentoBindingSource.Position = formaPagamentoBindingSource.IndexOf(new FormaPagamento()
                {
                    CodFormaPagamento = FormaPagamento.DEPOSITO
                });
                contaBancoBindingSource.Position = contaBancoBindingSource.IndexOf(new ContaBanco()
                {
                    CodContaBanco = cartao.CodContaBanco
                });
                codFormaPagamentoComboBox.Enabled = false;
                codContaBancoComboBox.Enabled     = false;
            }
            else
            {
                formaPagamentoBindingSource.Position = 0;
            }
            if ((pessoa != null) && (!pessoa.CodPessoa.Equals(Global.CLIENTE_PADRAO)))
            {
                // Obter todas as contas da pessoa em aberto
                ObterTodasContasAbertas(pessoa);
            }

            alterouDesconto = false;
        }
Exemplo n.º 2
0
        private void btnSalvar_Click(object sender, EventArgs e)
        {
            try
            {
                CartaoCredito _cartaoCredito = (CartaoCredito)cartaoCreditoBindingSource.Current;

                if (estado.Equals(EstadoFormulario.INSERIR))
                {
                    long codCartao = GerenciadorCartaoCredito.GetInstance().Inserir(_cartaoCredito);
                    codCartaoTextBox.Text = codCartao.ToString();
                }
                else
                {
                    GerenciadorCartaoCredito.GetInstance().Atualizar(_cartaoCredito);
                }
                cartaoCreditoBindingSource.EndEdit();
            }
            catch (DadosException de)
            {
                cartaoCreditoBindingSource.CancelEdit();
                throw de;
            }
            finally
            {
                habilitaBotoes(true);
                btnBuscar.Focus();
            }
        }
Exemplo n.º 3
0
 /// <summary>
 /// Carrega dados para informar as formas de pagamento
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void FrmSaidaPagamento_Load(object sender, EventArgs e)
 {
     saidaPagamentoBindingSource.DataSource = GerenciadorSaidaPagamento.GetInstance(null).ObterPorSaida(saida.CodSaida);
     formaPagamentoBindingSource.DataSource = GerenciadorFormaPagamento.GetInstance().ObterTodos();
     clienteBindingSource.SuspendBinding();
     profissionalBindingSource.SuspendBinding();
     clienteBindingSource.DataSource       = GerenciadorPessoa.GetInstance().ObterTodos();
     profissionalBindingSource.DataSource  = clienteBindingSource.DataSource;
     contaBancoBindingSource.DataSource    = GerenciadorContaBanco.GetInstance().ObterTodos();
     cartaoCreditoBindingSource.DataSource = GerenciadorCartaoCredito.GetInstance().ObterTodos();
     saidaBindingSource.DataSource         = GerenciadorSaida.GetInstance(null).Obter(saida.CodSaida);
     saida = (Saida)saidaBindingSource.Current;
     if (saida.CodCliente != Global.CLIENTE_PADRAO)
     {
         formaPagamentoBindingSource.Position = formaPagamentoBindingSource.IndexOf(new FormaPagamento()
         {
             CodFormaPagamento = FormaPagamento.CREDIARIO
         });
     }
     else
     {
         formaPagamentoBindingSource.Position = 0;
     }
     InicializaVariaveis();
     AtualizaValores();
 }
Exemplo n.º 4
0
 private void btnExcluir_Click(object sender, EventArgs e)
 {
     if (MessageBox.Show("Confirma exclusão?", "Confirmar Exclusão", MessageBoxButtons.YesNo) == DialogResult.Yes)
     {
         GerenciadorCartaoCredito.GetInstance().Remover(int.Parse(codCartaoTextBox.Text));
         cartaoCreditoBindingSource.RemoveCurrent();
     }
 }
Exemplo n.º 5
0
        private void FrmCartaoCredito_Load(object sender, EventArgs e)
        {
            GerenciadorSeguranca.getInstance().verificaPermissao(this, Global.CARTÕES_DE_CREDITO, Principal.Autenticacao.CodUsuario);
            cartaoCreditoBindingSource.DataSource = GerenciadorCartaoCredito.GetInstance().ObterTodos();
            contaBancoBindingSource.DataSource    = GerenciadorContaBanco.GetInstance().ObterTodos();
            pessoaBindingSource.DataSource        = GerenciadorPessoa.GetInstance().ObterPorTipoPessoa(Pessoa.PESSOA_JURIDICA);

            habilitaBotoes(true);
        }
Exemplo n.º 6
0
 private void txtTexto_TextChanged(object sender, EventArgs e)
 {
     if ((cmbBusca.SelectedIndex == 1) && !txtTexto.Text.Equals(""))
     {
         cartaoCreditoBindingSource.DataSource = GerenciadorCartaoCredito.GetInstance().Obter(int.Parse(txtTexto.Text));
     }
     else
     {
         cartaoCreditoBindingSource.DataSource = GerenciadorCartaoCredito.GetInstance().ObterPorNome(txtTexto.Text);
     }
 }
Exemplo n.º 7
0
        private void FrmReceberPagamentoPessoa_Load(object sender, EventArgs e)
        {
            formaPagamentoBindingSource.DataSource = GerenciadorFormaPagamento.GetInstance().ObterTodos();
            contaBancoBindingSource.DataSource     = GerenciadorContaBanco.GetInstance().ObterTodos();
            IEnumerable <CartaoCredito> listaCartoes = GerenciadorCartaoCredito.GetInstance().ObterTodos();

            cartaoCreditoBindingSource.DataSource = listaCartoes;
            if (exibirSomenteAdministradorasCartoes)
            {
                IEnumerable <long> administradoras = listaCartoes.Select(c => c.CodPessoa);
                pessoaBindingSource.DataSource = GerenciadorPessoa.GetInstance().ObterTodos().Where(p => administradoras.Contains(p.CodPessoa));
                OrganizarTelaAdministradoraCartoes();
            }
            else
            {
                pessoaBindingSource.DataSource = GerenciadorPessoa.GetInstance().ObterTodos();
            }
            codCartaoComboBox.SelectedIndex = 1;
            habilitaBotoes(true);
        }
Exemplo n.º 8
0
        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();
        }
Exemplo n.º 9
0
 private void FrmCartaoCreditoPesquisa_Load(object sender, EventArgs e)
 {
     cartaoCreditoBindingSource.DataSource = GerenciadorCartaoCredito.GetInstance().ObterTodos();
     cmbBusca.SelectedIndex = 0;
 }