Example #1
0
 public static void EfetuaFormaPagamento(EcfTotalTipoPagamentoDTO TotalTipoPagamento)
 {
     try
     {
         DataModule.ACBrECF.EfetuaPagamento(TotalTipoPagamento.EcfTipoPagamento.Codigo, TotalTipoPagamento.Valor.Value);
     }
     catch (Exception eError)
     {
         MessageBox.Show("Falha ao Efetuar Pagamento!", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
         Log.write(eError.ToString());
         return;
     }
 }
 public static EcfTotalTipoPagamentoDTO GravaEcfTotalTipoPagamento(EcfTotalTipoPagamentoDTO pEcfTotalTipoPagamento)
 {
     try
     {
         using (ISession Session = NHibernateHelper.GetSessionFactory().OpenSession())
         {
             NHibernateDAL <EcfTotalTipoPagamentoDTO> DAL = new NHibernateDAL <EcfTotalTipoPagamentoDTO>(Session);
             DAL.SaveOrUpdate(pEcfTotalTipoPagamento);
             Session.Flush();
         }
         return(pEcfTotalTipoPagamento);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message + (ex.InnerException != null ? " " + ex.InnerException.Message : ""));
     }
 }
        public static EcfTotalTipoPagamentoDTO ConsultaEcfTotalTipoPagamento(string pFiltro)
        {
            try
            {
                EcfTotalTipoPagamentoDTO Resultado = null;
                using (ISession Session = NHibernateHelper.GetSessionFactory().OpenSession())
                {
                    NHibernateDAL <EcfTotalTipoPagamentoDTO> DAL = new NHibernateDAL <EcfTotalTipoPagamentoDTO>(Session);

                    String ConsultaSql = "from EcfTotalTipoPagamento where " + pFiltro;
                    Resultado = DAL.SelectObjetoSql <EcfTotalTipoPagamentoDTO>(ConsultaSql);
                }
                return(Resultado);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message + (ex.InnerException != null ? " " + ex.InnerException.Message : ""));
            }
        }
 public static int ExcluiEcfTotalTipoPagamento(EcfTotalTipoPagamentoDTO pEcfTotalTipoPagamento)
 {
     try
     {
         int Resultado = -1;
         using (ISession Session = NHibernateHelper.GetSessionFactory().OpenSession())
         {
             NHibernateDAL <EcfTotalTipoPagamentoDTO> DAL = new NHibernateDAL <EcfTotalTipoPagamentoDTO>(Session);
             DAL.Delete(pEcfTotalTipoPagamento);
             Session.Flush();
             Resultado = 0;
         }
         return(Resultado);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message + (ex.InnerException != null ? " " + ex.InnerException.Message : ""));
     }
 }
        private void botaoSim_Click(object sender, EventArgs e)
        {
            decimal             ValorInformado;
            string              Mensagem;
            EcfTipoPagamentoDTO TipoPagamento = Sessao.Instance.ListaTipoPagamento[ComboTipoPagamento.SelectedIndex];

            ValorInformado = Biblioteca.TruncaValor(Convert.ToDecimal(editValorPago.Text), Constantes.DECIMAIS_VALOR);

            if (((TipoPagamento.Descricao == "CONSULTA CHEQUE") || (TipoPagamento.Descricao == "CONSULTA CHQ TECBAN")) && (TransacaoComTef))
            {
                MessageBox.Show("Compra com Cartao e Cheque não permitida.", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                ComboTipoPagamento.Focus();
                PanelConfirmaValores.Visible = false;
                PanelConfirmaValores.SendToBack();
            }
            else
            {
                EcfTotalTipoPagamentoDTO TotalTipoPagamento = new EcfTotalTipoPagamentoDTO();

                if (((TransacaoComTef) || (TipoPagamento.Tef == "S")) && (ValorInformado > SaldoRestante))
                {
                    MessageBox.Show("Compra não permite troco.", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    ComboTipoPagamento.Focus();
                    PanelConfirmaValores.Visible = false;
                    PanelConfirmaValores.SendToBack();
                }
                else if ((TipoPagamento.Tef == "S") && (QuantidadeCartao >= Sessao.Instance.Configuracao.QuantidadeMaximaCartoes))
                {
                    MessageBox.Show("Ja foi utilizada a quantidade maxima de cartoes para efetuar pagamento.", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    ComboTipoPagamento.Focus();
                    PanelConfirmaValores.Visible = false;
                    PanelConfirmaValores.SendToBack();
                }
                else if ((TipoPagamento.Tef == "S") && (QuantidadeCartao >= Sessao.Instance.Configuracao.QuantidadeMaximaCartoes - 1) && (ValorInformado != SaldoRestante))
                {
                    Mensagem = "Multiplos Cartoes. Transacao suporta ate " + Convert.ToString(Sessao.Instance.Configuracao.QuantidadeMaximaCartoes) + " cartoes. Informe o valor exato para fechar a venda.";
                    MessageBox.Show(Mensagem, "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    ComboTipoPagamento.Focus();
                    PanelConfirmaValores.Visible = false;
                    PanelConfirmaValores.SendToBack();
                }
                else
                {
                    GroupBox3.Enabled = false;
                    StatusTransacao   = true;
                    if (TipoPagamento.Tef == "S")
                    {
                        try
                        {
                            try
                            {
                                ACBrTEFD.Initializar((ACBrFramework.TEFD.TefTipo) int.Parse(TipoPagamento.TefTipoGp));
                            }
                            catch (Exception eError)
                            {
                                Log.write(eError.ToString());
                                MessageBox.Show("GP para tipo de pagamento solicitado não instalado.", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                StatusTransacao = false;
                            }
                            if ((TipoPagamento.Descricao == "CONSULTA CHEQUE") || (TipoPagamento.Descricao == "CONSULTA CHQ TECBAN"))
                            {
                                StatusTransacao = ACBrTEFD.CHQ(ValorInformado, TipoPagamento.Codigo);
                            }
                            else
                            {
                                StatusTransacao = ACBrTEFD.CRT(ValorInformado, TipoPagamento.Codigo, DataModule.ACBrECF.NumCOO);
                            }

                            if (StatusTransacao)
                            {
                                IndiceTransacaoTef++;

                                TotalTipoPagamento.Nsu  = ACBrTEFD.RespostasPendentes[IndiceTransacaoTef].NSU;
                                TotalTipoPagamento.Rede = ACBrTEFD.RespostasPendentes[IndiceTransacaoTef].Rede;

                                if ((ACBrTEFD.RespostasPendentes[IndiceTransacaoTef].TipoTransacao >= 10) && (ACBrTEFD.RespostasPendentes[IndiceTransacaoTef].TipoTransacao <= 12))
                                {
                                    TotalTipoPagamento.CartaoDc = "C";
                                }
                                if ((ACBrTEFD.RespostasPendentes[IndiceTransacaoTef].TipoTransacao >= 20) && (ACBrTEFD.RespostasPendentes[IndiceTransacaoTef].TipoTransacao <= 25))
                                {
                                    TotalTipoPagamento.CartaoDc = "D";
                                }

                                QuantidadeCartao++;
                                TransacaoComTef = true;
                                PodeFechar      = false;
                            }
                        }
                        catch (Exception eError)
                        {
                            Log.write(eError.ToString());
                        }
                    }

                    if (StatusTransacao)
                    {
                        DataRow Registro = DTValores.NewRow();
                        Registro["DESCRICAO"] = ComboTipoPagamento.Text;
                        decimal valor = Convert.ToDecimal(editValorPago.Text);
                        Registro["VALOR"] = Convert.ToDecimal(valor.ToString("0.00"));
                        if (TipoPagamento.Tef == "S")
                        {
                            Registro["TEF"]              = "S";
                            Registro["NSU"]              = TotalTipoPagamento.Nsu;
                            Registro["REDE"]             = TotalTipoPagamento.Rede;
                            Registro["INDICE_TRANSACAO"] = IndiceTransacaoTef;
                        }

                        TotalRecebido = Biblioteca.TruncaValor(TotalRecebido + Convert.ToDecimal(editValorPago.Text), Constantes.DECIMAIS_VALOR);
                        Troco         = Biblioteca.TruncaValor(TotalRecebido - TotalReceber, Constantes.DECIMAIS_VALOR);
                        if (Troco < 0)
                        {
                            Troco = 0;
                        }

                        VerificaSaldoRestante();

                        TotalTipoPagamento.IdEcfVendaCabecalho = Sessao.Instance.VendaAtual.Id;
                        TotalTipoPagamento.Valor    = Biblioteca.TruncaValor(Convert.ToDecimal(editValorPago.Text), Constantes.DECIMAIS_VALOR);
                        TotalTipoPagamento.Estorno  = "N";
                        TotalTipoPagamento.SerieEcf = Sessao.Instance.Configuracao.EcfImpressora.Serie;
                        TotalTipoPagamento.Coo      = int.Parse(DataModule.ACBrECF.NumCOO);
                        TotalTipoPagamento.Ccf      = int.Parse(DataModule.ACBrECF.NumCCF);
                        TotalTipoPagamento.Gnf      = int.Parse(DataModule.ACBrECF.NumGNF);

                        TotalTipoPagamento.EcfTipoPagamento = TipoPagamento;

                        ListaTotalTipoPagamento.Add(TotalTipoPagamento);

                        // guarda o índice da lista
                        Registro["INDICE_LISTA"] = ListaTotalTipoPagamento.Count - 1;
                        DTValores.Rows.Add(Registro);
                    }
                    PanelConfirmaValores.Visible = false;
                    PanelConfirmaValores.SendToBack();
                    if (SaldoRestante > 0)
                    {
                        editValorPago.Text = SaldoRestante.ToString("0.00");
                    }
                    else
                    {
                        editValorPago.Text = "0.00";
                    }

                    GroupBox3.Enabled = true;
                    ComboTipoPagamento.Focus();
                }

                VerificaSaldoRestante();
                if (SaldoRestante <= 0)
                {
                    FinalizaVenda();
                }

                if (SegundoCartaoCancelado)
                {
                    MessageBox.Show("Cupom fiscal cancelado. será aberto noDTO cupom e deve-se informar novamente os pagamentos.", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    Sessao.Instance.VendaAtual.CupomCancelado = "S";
                    Sessao.Instance.StatusCaixa = Tipos.StatusCaixa.scAberto;
                    FechaVendaComProblemas();
                    PodeFechar = true;
                    this.Close();
                }
            }
        }
 public static IList <EcfTotalTipoPagamentoDTO> ConsultaEcfTotalTipoPagamentoPagina(int pPrimeiroResultado, int pQuantidadeResultados, EcfTotalTipoPagamentoDTO pEcfTotalTipoPagamento)
 {
     try
     {
         IList <EcfTotalTipoPagamentoDTO> Resultado = null;
         using (ISession Session = NHibernateHelper.GetSessionFactory().OpenSession())
         {
             NHibernateDAL <EcfTotalTipoPagamentoDTO> DAL = new NHibernateDAL <EcfTotalTipoPagamentoDTO>(Session);
             Resultado = DAL.SelectPagina <EcfTotalTipoPagamentoDTO>(pPrimeiroResultado, pQuantidadeResultados, pEcfTotalTipoPagamento);
         }
         return(Resultado);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message + (ex.InnerException != null ? " " + ex.InnerException.Message : ""));
     }
 }