Пример #1
0
        public override RespostaCrt ConfirmarCrt(AutorizaDfeEventArgs autorizaDfeEventArgs)
        {
            if (_statusTransacao)
            {
                if (autorizaDfeEventArgs.IsContemRejeicao() || autorizaDfeEventArgs.IsContemErro())
                {
                    if (_respostaRequisicaoCrt.RequerConfirmacao())
                    {
                        Ncn(
                            _respostaRequisicaoCrt.BuscaLinha(AcTefIdentificadorCampos.RedeAdquirente).Valor,
                            _respostaRequisicaoCrt.BuscaLinha(AcTefIdentificadorCampos.CodigoControle).Valor
                            );
                    }
                }

                if (_respostaRequisicaoCrt.RequerConfirmacao() && autorizaDfeEventArgs.IsAutorizado())
                {
                    Cnf(
                        _respostaRequisicaoCrt.BuscaLinha(AcTefIdentificadorCampos.RedeAdquirente).Valor,
                        _respostaRequisicaoCrt.BuscaLinha(AcTefIdentificadorCampos.Nsu).Valor,
                        _respostaRequisicaoCrt.BuscaLinha(AcTefIdentificadorCampos.CodigoControle).Valor,
                        NomeAplicativoComercial,
                        VersaoAplicativoComercial,
                        RegistroCertificacao
                        );
                }


                ImprimirVias(_respostaRequisicaoCrt);
            }

            return(new RespostaCrt(_tefRespostaCrt, _respostaRequisicaoCrt, _statusTransacaoCrt));
        }
Пример #2
0
        public override RespostaCrt Crt(decimal valor, string documentoVinculado, bool confirmarManual = false)
        {
            VerificaInicializado();
            var requisicao = FabricarRequisicao.MontaRequisicaoCrt(
                IdRequisicao,
                valor,
                documentoVinculado,
                NomeAutomacaoComercial,
                RegistroCertificacao,
                _configAcTefDial);


            _tefRespostaCrt = _requisicao.Enviar(requisicao, this);

            _respostaRequisicaoCrt = _requisicao.AguardaRespostaRequisicao();

            _requisicao.OnExibeMensagem(new ExibeMensagemEventArgs(_respostaRequisicaoCrt));

            var autorizaDfeEventArgs = new AutorizaDfeEventArgs(_respostaRequisicaoCrt);

            _requisicao.OnAutorizaDfe(autorizaDfeEventArgs);

            _statusTransacao    = ConfereStatus(_respostaRequisicaoCrt);
            _statusTransacaoCrt = _statusTransacao ? AcTefStatus.Sucesso : AcTefStatus.Falha;

            if (confirmarManual)
            {
                return(new RespostaCrt(_tefRespostaCrt, _respostaRequisicaoCrt, _statusTransacaoCrt));
            }

            return(ConfirmarCrt(autorizaDfeEventArgs));
        }
Пример #3
0
        public override RespostaCrt Crt(decimal valor, string documentoVinculado)
        {
            VerificaInicializado();
            var requisicao = FabricarRequisicao.MontaRequisicaoCrt(
                IdRequisicao,
                valor,
                documentoVinculado,
                NomeAutomacaoComercial,
                RegistroCertificacao,
                _configAcTefDial);


            var tefResposta = _requisicao.Enviar(requisicao);

            var respostaRequisicao = _requisicao.AguardaRespostaRequisicao();

            _requisicao.OnExibeMensagem(new ExibeMensagemEventArgs(respostaRequisicao));

            var autorizaDfeEventArgs = new AutorizaDfeEventArgs(respostaRequisicao);

            _requisicao.OnAutorizaDfe(autorizaDfeEventArgs);

            var statusTransacao = ConfereStatus(respostaRequisicao);
            var acTefStatus     = statusTransacao ? AcTefStatus.Sucesso : AcTefStatus.Falha;

            if (statusTransacao)
            {
                if (autorizaDfeEventArgs.IsContemRejeicao() || autorizaDfeEventArgs.IsContemErro())
                {
                    if (respostaRequisicao.RequerConfirmacao())
                    {
                        Ncn(
                            respostaRequisicao.BuscaLinha(AcTefIdentificadorCampos.RedeAdquirente).Valor,
                            respostaRequisicao.BuscaLinha(AcTefIdentificadorCampos.CodigoControle).Valor
                            );
                    }
                }

                if (respostaRequisicao.RequerConfirmacao() && autorizaDfeEventArgs.IsAutorizado())
                {
                    Cnf(
                        respostaRequisicao.BuscaLinha(AcTefIdentificadorCampos.RedeAdquirente).Valor,
                        respostaRequisicao.BuscaLinha(AcTefIdentificadorCampos.CodigoControle).Valor,
                        NomeAplicativoComercial,
                        VersaoAplicativoComercial,
                        RegistroCertificacao
                        );
                }


                ImprimirVias(respostaRequisicao);
            }

            return(new RespostaCrt(tefResposta, respostaRequisicao, acTefStatus));
        }
Пример #4
0
 public virtual RespostaCrt ConfirmarCrt(AutorizaDfeEventArgs autorizaDfeEventArgs)
 {
     throw new NotImplementedException();
 }