Ejemplo n.º 1
0
        public static void Assinar(this inutCTe inutCTe, ConfiguracaoServico configuracaoServico = null)
        {
            var configServico = configuracaoServico ?? ConfiguracaoServico.Instancia;

            inutCTe.Signature = AssinaturaDigital.Assina(inutCTe, inutCTe.infInut.Id,
                                                         configServico.X509Certificate2);
        }
Ejemplo n.º 2
0
        public GeradorDeNfce()
        {
            CfgServico        = ConfiguracaoServico.Instancia;
            CfgServico.tpAmb  = TipoAmbiente.Homologacao;
            CfgServico.tpEmis = TipoEmissao.teNormal;
            CfgServico.ProtocoloDeSeguranca = ServicePointManager.SecurityProtocol;

            var emitente = new emit
            {
                CNPJ  = "31808064000147",
                IE    = "9079550016",
                xFant = "Joao Victor Spinoza",
                xNome = "Joao Victor Spinoza"
            };

            var configuracaoDeEmail = new ConfiguracaoEmail("*****@*****.**", "senha", "Envio de NFE", "Teset123", "smtp.dominio.com", 587, true, true);

            var configuracaoDanfeNfe = new ConfiguracaoDanfeNfce(NfceDetalheVendaNormal.UmaLinha, NfceDetalheVendaContigencia.UmaLinha);

            _configuracoes = new Configuracao(
                GetEnderecoEmitente(),
                CfgServico,
                emitente,
                configuracaoDeEmail,
                configuracaoDanfeNfe
                );
        }
 public ConsultaSituacaoNFeServico(ConfiguracaoServico cfgServico, IStorage storage, ITransmitirSefazCommand transmitir)
 {
     this.cfgServico = cfgServico;
     this.storage    = storage;
     this.sefaz      = transmitir;
     this.versao     = "4.00";
 }
Ejemplo n.º 4
0
        private void CredenciadoInutilizadoExcluir(List <ConfiguracaoServico> configuracoes, BancoDeDados banco)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                ConfiguracaoServico configuracao = configuracoes.SingleOrDefault(x => x.Id == (int)eServico.CredenciadoInutilizadoExcluir) ?? new ConfiguracaoServico();

                try
                {
                    DateTime inicio = configuracao.DataInicioExecucao ?? DateTime.MinValue;

                    if (configuracao == null || configuracao.Id <= 0 || configuracao.EmExecucao || (DateTime.Now - inicio) < configuracao.Intervalo)
                    {
                        return;
                    }

                    //Coloca o serviço em execução
                    configuracao.EmExecucao = true;
                    _da.EditarConfiguracao(configuracao, bancoDeDados);

                    _da.CredenciadoInutilizadoExcluir(bancoDeDados);

                    configuracao.EmExecucao = false;
                    _da.EditarConfiguracao(configuracao, bancoDeDados);
                }
                catch (Exception exc)
                {
                    //finaliza o serviço em execução
                    //configuracao.EmExecucao = false;
                    //_da.EditarConfiguracao(configuracao, bancoDeDados);
                    throw exc;
                }
            }
        }
Ejemplo n.º 5
0
        public ServicosNFe CreateInstance4()
        {
            var conf = new ConfiguracaoServico();
            var cert = new ConfiguracaoCertificado
            {
                TipoCertificado = TipoCertificado.A1Arquivo,
                Arquivo         = @"D:\Works\ProductInvoices\A1_NFE_08765239000164_cer2017.pfx",
                Senha           = "cer2017"
            };

            conf.Certificado             = cert;
            conf.tpAmb                   = NFeClasses.Informacoes.Identificacao.Tipos.TipoAmbiente.taHomologacao;
            conf.cUF                     = DFe.Classes.Entidades.Estado.SP;
            conf.tpEmis                  = NFeClasses.Informacoes.Identificacao.Tipos.TipoEmissao.teNormal;
            conf.TimeOut                 = 120000;
            conf.DiretorioSalvarXml      = @"D:\Works\";
            conf.SalvarXmlServicos       = true;
            conf.ModeloDocumento         = DFe.Classes.Flags.ModeloDocumento.NFe;
            conf.ProtocoloDeSeguranca    = System.Net.SecurityProtocolType.Ssl3;
            conf.DiretorioSchemas        = @"D:\Works\Schemas\";
            conf.VersaoNFeAutorizacao    = VersaoServico.ve400;
            conf.VersaoNfeDownloadNF     = VersaoServico.ve400;
            conf.VersaoNfeStatusServico  = VersaoServico.ve400;
            conf.VersaoNFeRetAutorizacao = VersaoServico.ve400;

            return(new ServicosNFe(conf));
        }
Ejemplo n.º 6
0
        public GeradorDeNfce(ConfiguracaoServico cfgServico, X509Certificate2 cert)
        {
            _cfgServico = cfgServico;


            var emitente = new emit
            {
                CNPJ = "31808064000147",
                IE   = "9079550016",
                // ambiente produção
                //xFant = "Joao Victor Spinoza",
                //xNome = "Joao Victor Spinoza",
                xNome = nfeEmitadaHomolog,
                xFant = nfeEmitadaHomolog,
                CRT   = CRT.SimplesNacional
            };

            var configuracaoDeEmail = new ConfiguracaoEmail("*****@*****.**", "senha", "Envio de NFE", "Teset123", "smtp.dominio.com", 587, true, true);

            var configuracaoDanfeNfe =
                new ConfiguracaoDanfeNfce(NfceDetalheVendaNormal.UmaLinha, NfceDetalheVendaContigencia.UmaLinha, versaoQrCode: VersaoQrCode.QrCodeVersao2);

            _configuracoes = new Configuracao(
                GetEnderecoEmitente(),
                _cfgServico,
                emitente,
                configuracaoDeEmail,
                configuracaoDanfeNfe

                );

            _cert = cert;
            _configuracoes.CfgServico.Certificado.Serial = _cert.SerialNumber;
        }
Ejemplo n.º 7
0
 public ServicosNfce()
 {
     CfgServico        = ConfiguracaoServico.Instancia;
     CfgServico.tpAmb  = TipoAmbiente.Homologacao;
     CfgServico.tpEmis = TipoEmissao.teNormal;
     CfgServico.ProtocoloDeSeguranca = ServicePointManager.SecurityProtocol;
 }
Ejemplo n.º 8
0
        /// <summary>
        /// Cria o cliente <see cref="SoapHttpClientProtocol"/> para o serviço de Autorização
        /// </summary>
        /// <param name="cfg">Configuração do serviço</param>
        /// <param name="certificado">Certificado</param>
        /// <returns></returns>
        public static INfeServicoAutorizacao CriaWsdlAutorizacao(ConfiguracaoServico cfg, X509Certificate2 certificado)
        {
            var url = Enderecador.ObterUrlServico(ServicoNFe.NFeAutorizacao, cfg);

            if (cfg.UsaSvanNFe4(cfg.VersaoNFeAutorizacao))
            {
                return(new NFeAutorizacao4SVAN(url, certificado, cfg.TimeOut));
            }

            if (cfg.UsaSvcanNFe4(cfg.VersaoNFeAutorizacao))
            {
                return(new NFeAutorizacao4SVCAN(url, certificado, cfg.TimeOut));
            }

            if (cfg.VersaoNFeAutorizacao == VersaoServico.ve400)
            {
                return(new NFeAutorizacao4(url, certificado, cfg.TimeOut));
            }

            if (cfg.cUF == Estado.PR & cfg.VersaoNFeAutorizacao == VersaoServico.ve310)
            {
                return(new NfeAutorizacao3(url, certificado, cfg.TimeOut));
            }

            return(new NfeAutorizacao(url, certificado, cfg.TimeOut));
        }
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            ConfiguracaoServico.ConfiguracaoDependenciaServico(services);
            ConfiguracaoRepositorio.ConfiguracaoRepositorioDependencia(services);
            services.AddControllers();

            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1",
                             new OpenApiInfo
                {
                    Title       = "API HORAS DESENVOLVEDOR",
                    Version     = "v1",
                    Description = "API REST criada com o ASP.NET Core para Controle Horas Devs" +
                                  "Em Desenvolvimento! Devido ao trabalho atual, não tive tempo para implantar:" +
                                  " - A camada BO no services. GetFiveTop()" +
                                  " - Não implantei o Jwt. " +
                                  " - Não implantei tambem o apontamento dos serviços externo para validação" +
                                  "......a aplicação esta incompleta mas possui arquitetura rica destinada ao mercado!!!",

                    Contact = new OpenApiContact
                    {
                        Name  = "Guilherme Felix Silva",
                        Email = "*****@*****.**",
                        Url   = new Uri("https://www.linkedin.com/in/guilhermefdsilva/")
                    }
                });
            });
        }
Ejemplo n.º 10
0
 public CancelarNFeServico(ConfiguracaoServico cfgServico, IStorage storage, ITransmitirSefazCommand transmitir)
 {
     this.cfgServico = cfgServico;
     this.storage    = storage;
     this.transmitir = transmitir;
     versao          = "1.00";
 }
Ejemplo n.º 11
0
        /// <summary>
        /// Cria o cliente <see cref="SoapHttpClientProtocol"/> para o serviço de Autorização
        /// </summary>
        /// <param name="cfg">Configuração do serviço</param>
        /// <param name="certificado">Certificado</param>
        /// <returns></returns>
        public static INfeServicoAutorizacao CriaWsdlAutorizacao(ConfiguracaoServico cfg, X509Certificate2 certificado, bool compactarMensagem)
        {
            string url = Enderecador.ObterUrlServico(ServicoNFe.NFeAutorizacao, cfg);

            if (cfg.UsaSvanNFe4(cfg.VersaoNFeAutorizacao))
            {
                return(new NFeAutorizacao4SVAN(url, certificado, cfg.TimeOut));
            }

            if (cfg.UsaSvcanNFe4(cfg.VersaoNFeAutorizacao))
            {
                return(new NFeAutorizacao4SVCAN(url, certificado, cfg.TimeOut));
            }

            if (cfg.VersaoNFeAutorizacao == VersaoServico.Versao400)
            {
                return(new NFeAutorizacao4(url, certificado, cfg.TimeOut, compactarMensagem, ConverteVersaoLayout(cfg.VersaoNFeAutorizacao), cfg.cUF));
            }

            if (cfg.cUF == Estado.PR & cfg.VersaoNFeAutorizacao == VersaoServico.Versao310)
            {
                return(new NfeAutorizacao3(url, certificado, cfg.TimeOut));
            }

            return(new NfeAutorizacao(url, certificado, cfg.TimeOut));
        }
Ejemplo n.º 12
0
        public void NFeConfiguracaoServico_WhenTryCallAsynchronously_ReturnsCorrectStateDistinctNumbers()
        {
            // Arrange
            var config1 = new { State = Estado.AC, SleepTime = TimeSpan.FromSeconds(10) };
            var config2 = new { State = Estado.AM, SleepTime = TimeSpan.FromSeconds(2) };
            var config3 = new { State = Estado.AP, SleepTime = TimeSpan.FromSeconds(0) };
            var config4 = new { State = Estado.SP, SleepTime = TimeSpan.FromSeconds(3) };

            var configurations = new[] { config1, config2, config3, config4 };

            var result = new List <Estado>();

            // Act
            foreach (var config in configurations)
            {
                Task.Run(() =>
                {
                    var service = new ConfiguracaoServico();
                    service.cUF = config.State;

                    Thread.Sleep(config.SleepTime);

                    result.Add(service.cUF);
                }
                         );
            }

            // Assert
            Thread.Sleep(TimeSpan.FromSeconds(12));

            Assert.IsNotNull(result);
            Assert.AreEqual(result.Distinct().Count(), 4);
        }
Ejemplo n.º 13
0
        public static UrlCTe ObterUrlServico(ConfiguracaoServico configuracaoServico = null)
        {
            var configServico = configuracaoServico ?? ConfiguracaoServico.Instancia;

            switch (configServico.tpAmb)
            {
            case TipoAmbiente.Homologacao:
                if (configServico.TipoEmissao == tpEmis.teSVCRS)
                {
                    return(UrlHomologacaoSvrs());
                }

                if (configServico.TipoEmissao == tpEmis.teSVCSP)
                {
                    return(UrlHomologacaoSvcsp());
                }

                return(UrlHomologacao(configServico));

            case TipoAmbiente.Producao:
                if (configServico.TipoEmissao == tpEmis.teSVCRS)
                {
                    return(UrlProducaoSvrs());
                }

                if (configServico.TipoEmissao == tpEmis.teSVCSP)
                {
                    return(UrlProducaoSvcsp());
                }

                return(UrlProducao(configServico));
            }

            throw new InvalidOperationException("Tipo Ambiente inválido");
        }
Ejemplo n.º 14
0
        /// <summary>
        ///     Assina um objeto CTe
        /// </summary>
        /// <param name="cte"></param>
        /// <param name="configuracaoServico"></param>
        /// <returns>Retorna um objeto do tipo CTe assinado</returns>
        public static void Assina(this CteEletronica cte, ConfiguracaoServico configuracaoServico = null)
        {
            if (cte == null)
            {
                throw new ArgumentNullException("cte");
            }

            var configServico = configuracaoServico ?? ConfiguracaoServico.Instancia;

            var modeloDocumentoFiscal = cte.infCte.ide.mod;
            var tipoEmissao           = (int)cte.infCte.ide.tpEmis;
            var codigoNumerico        = cte.infCte.ide.cCT;
            var estado           = cte.infCte.ide.cUF;
            var dataEHoraEmissao = cte.infCte.ide.dhEmi;
            var cnpj             = cte.infCte.emit.CNPJ;
            var numeroDocumento  = cte.infCte.ide.nCT;
            int serie            = cte.infCte.ide.serie;

            var dadosChave = ChaveFiscal.ObterChave(estado, dataEHoraEmissao, cnpj, modeloDocumentoFiscal, serie, numeroDocumento, tipoEmissao, codigoNumerico);

            cte.infCte.Id      = "CTe" + dadosChave.Chave;
            cte.infCte.versao  = configServico.VersaoLayout;
            cte.infCte.ide.cDV = dadosChave.DigitoVerificador;

            var assinatura = AssinaturaDigital.Assina(cte, cte.infCte.Id, configServico.X509Certificate2);

            cte.Signature = assinatura;
        }
Ejemplo n.º 15
0
        internal List <ConfiguracaoServico> Configuracoes(eServico servico)
        {
            List <ConfiguracaoServico> retorno = new List <ConfiguracaoServico>();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(EsquemaBanco))
            {
                Comando comando = bancoDeDados.CriarComando(@"select id, servico, intervalo, data_inicio, data_inicio_execucao, 
				nvl(data_ultima_execucao, data_inicio) data_ultima_execucao, em_execucao, tid from cnf_servicos t"                );

                comando.DbCommand.CommandText += " where t.id = :servico";
                comando.AdicionarParametroEntrada("servico", (int)servico, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    ConfiguracaoServico conf;

                    while (reader.Read())
                    {
                        conf                    = new ConfiguracaoServico();
                        conf.Id                 = reader.GetValue <Int32>("id");
                        conf.Servico            = reader.GetValue <String>("servico");
                        conf.Intervalo          = new TimeSpan(reader.GetValue <Int32>("intervalo"), 0, 0);               //Em Horas
                        conf.DataInicio         = reader.GetValue <DateTime>("data_inicio");
                        conf.DataInicioExecucao = reader.GetValue <DateTime>("data_inicio_execucao");
                        conf.DataUltimaExecucao = reader.GetValue <DateTime>("data_ultima_execucao");
                        conf.EmExecucao         = reader.GetValue <Boolean>("em_execucao");
                        retorno.Add(conf);
                    }

                    reader.Close();
                }

                return(retorno);
            }
        }
Ejemplo n.º 16
0
        internal void EditarConfiguracao(ConfiguracaoServico configuracao, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                bancoDeDados.IniciarTransacao();

                Comando comando;

                if (configuracao.EmExecucao)
                {
                    comando = bancoDeDados.CriarComando(@"update cnf_servicos r set r.data_inicio_execucao = :data_inicio_execucao, r.em_execucao = :em_execucao, r.tid = :tid where r.id = :id");

                    configuracao.DataInicioExecucao = configuracao.DataInicioExecucao.Value.AddHours(configuracao.Intervalo.TotalHours);
                    comando.AdicionarParametroEntrada("data_inicio_execucao", configuracao.DataInicioExecucao, DbType.DateTime);
                }
                else
                {
                    comando = bancoDeDados.CriarComando(@"update cnf_servicos r set r.data_ultima_execucao = sysdate, r.em_execucao = :em_execucao, r.tid = :tid where r.id = :id");
                }

                comando.AdicionarParametroEntrada("id", configuracao.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("em_execucao", configuracao.EmExecucao ? 1 : 0, DbType.Int32);
                comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());

                bancoDeDados.ExecutarNonQuery(comando);

                bancoDeDados.Commit();
            }
        }
        /// <summary>
        /// Responsavel Consultar Status do Serviço da Sefaz
        /// </summary>
        /// <returns></returns>
        public RetornoNfeStatusServico ConsultarStatusServico(ConfiguracaoServico cFgServico)
        {
            var servicoNFe    = new ServicosNFe(cFgServico);
            var retornoStatus = servicoNFe.NfeStatusServico();

            return(retornoStatus);
        }
Ejemplo n.º 18
0
        public ServicosNFe CreateInstance4()
        {
            _conf = new ConfiguracaoServico();

            var cert = new ConfiguracaoCertificado
            {
                TipoCertificado = TipoCertificado.A1Arquivo,
                Arquivo         = @"certificatePath.pfx",
                Senha           = "certificatePassword"
            };

            _conf.Certificado     = cert;
            _conf.ModeloDocumento = DFe.Classes.Flags.ModeloDocumento.NFCe; //  Condition

            _conf.tpAmb                   = NFeClasses.Informacoes.Identificacao.Tipos.TipoAmbiente.taProducao;
            _conf.cUF                     = DFe.Classes.Entidades.Estado.SP;
            _conf.tpEmis                  = NFeClasses.Informacoes.Identificacao.Tipos.TipoEmissao.teNormal;
            _conf.TimeOut                 = 120000;
            _conf.DiretorioSalvarXml      = @"D:\works\nfce";
            _conf.SalvarXmlServicos       = true;
            _conf.ProtocoloDeSeguranca    = System.Net.SecurityProtocolType.Tls12;
            _conf.DiretorioSchemas        = @"C:\Works\nfe\nfe-products-api\schemas";
            _conf.VersaoNFeAutorizacao    = VersaoServico.ve400;
            _conf.VersaoNfeDownloadNF     = VersaoServico.ve400;
            _conf.VersaoNfeStatusServico  = VersaoServico.ve400;
            _conf.VersaoNFeRetAutorizacao = VersaoServico.ve400;

            return(new ServicosNFe(_conf));
        }
 public ManifestacaoDestinatarioServico(ConfiguracaoServico config, IStorage storage, ITransmitirSefazCommand transmitir)
 {
     this.config     = config;
     this.storage    = storage;
     this.transmitir = transmitir;
     this.nSeqEvento = 1;
 }
Ejemplo n.º 20
0
        public static void SalvarXmlEmDisco(this retCTeOS retEnviCte, ConfiguracaoServico config)
        {
            if (config.NaoSalvarXml())
            {
                return;
            }

            var dataEnvio = DateTimeOffset.Now;

            if (retEnviCte != null && retEnviCte.protCTe != null &&
                retEnviCte.protCTe.infProt != null &&
                retEnviCte.protCTe.infProt.dhRecbto != null)
            {
                dataEnvio = retEnviCte.protCTe.infProt.dhRecbto;
            }

            var caminhoXml = config.DiretorioSalvarXml;

            var protocolo = "000000";


            if (retEnviCte != null && retEnviCte.protCTe != null &&
                retEnviCte.protCTe.infProt != null &&
                retEnviCte.protCTe.infProt.nProt != null)
            {
                protocolo = retEnviCte.protCTe.infProt.nProt;
            }

            var arquivoSalvar = Path.Combine(caminhoXml, new StringBuilder(protocolo).Append("-rec.xml").ToString());

            FuncoesXml.ClasseParaArquivoXml(retEnviCte, arquivoSalvar);
        }
        /// <summary>
        /// Responsavel por Enviar NFe para Sefaz
        /// </summary>
        /// <param name="cFgServico"></param>
        /// <param name="numLote"></param>
        /// <param name="nfe"></param>
        /// <returns></returns>
        public RetornoNFeAutorizacao EnviarNFe(int numLote, Classes.NFe nfe, ConfiguracaoServico cFgServico)
        {
            //nfe.Assina(cFgServico); //não precisa validar aqui, pois o lote será validado em ServicosNFe.NFeAutorizacao
            var servicoNFe   = new ServicosNFe(cFgServico);
            var retornoEnvio = servicoNFe.NFeAutorizacao(numLote, IndicadorSincronizacao.Assincrono, new List <Classes.NFe> {
                nfe
            }, false /*Envia a mensagem compactada para a SEFAZ*/);

            var recibo = servicoNFe.NFeRetAutorizacao(retornoEnvio.Retorno.infRec.nRec);
            var cStat  = this.VerificarcStat(recibo.RetornoCompletoStr, "protNFe", "infProt");

            if (cStat == "100")
            {
                //Salva NFe+protNFe na tag nfeProc apos autorização da NFe
                this.AdicionarNFeProc(nfe.infNFe.Id.Substring(3), nfe, cFgServico);
            }
            if (nfe.infNFe.ide.mod == ModeloDocumento.NFCe)
            {
                this.SalvarXmlArquivo(nfe.infNFe.Id.Substring(3) + "-nfce", nfe.ObterXmlString(), cFgServico.tpAmb);
            }
            else
            {
                this.SalvarXmlArquivo(nfe.infNFe.Id.Substring(3) + "-nfe", nfe.ObterXmlString(), cFgServico.tpAmb);
            }
            return(retornoEnvio);
        }
Ejemplo n.º 22
0
        public async Task <retEventoCTe> CancelarAsync(ConfiguracaoServico configuracaoServico = null)
        {
            var eventoCancelar = ClassesFactory.CriaEvCancCTe(_justificativa, _numeroProtocolo);

            var retorno = await new ServicoController().ExecutarAsync(_cte, _sequenciaEvento, eventoCancelar, CTeTipoEvento.Cancelamento, configuracaoServico);

            return(retorno);
        }
Ejemplo n.º 23
0
        public static CteRecepcaoEvento CriaWsdlCteEvento(ConfiguracaoServico configuracaoServico = null)
        {
            var url = UrlHelper.ObterUrlServico(configuracaoServico).CteRecepcaoEvento;

            var configuracaoWsdl = CriaConfiguracao(url, configuracaoServico);

            return(new CteRecepcaoEvento(configuracaoWsdl));
        }
Ejemplo n.º 24
0
 /// <summary>
 ///     Cria uma instância da Classe responsável pelos serviços relacionados à NFe
 /// </summary>
 /// <param name="cFgServico"></param>
 public ServicosNFe(ConfiguracaoServico cFgServico)
 {
     _cFgServico  = cFgServico;
     _certificado = string.IsNullOrEmpty(_cFgServico.Certificado.Arquivo)
         ? CertificadoDigital.ObterDoRepositorio(_cFgServico.Certificado.Serial, _cFgServico.Certificado.Senha)
         : CertificadoDigital.ObterDeArquivo(_cFgServico.Certificado.Arquivo, _cFgServico.Certificado.Senha);
     _path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
 }
Ejemplo n.º 25
0
        public static CteConsulta CriaWsdlConsultaProtocolo(ConfiguracaoServico configuracaoServico = null)
        {
            var url = UrlHelper.ObterUrlServico(configuracaoServico).CteConsulta;

            var configuracaoWsdl = CriaConfiguracao(url, configuracaoServico);

            return(new CteConsulta(configuracaoWsdl));
        }
Ejemplo n.º 26
0
        public static CteInutilizacao CriaWsdlCteInutilizacao(ConfiguracaoServico configuracaoServico = null)
        {
            var url = UrlHelper.ObterUrlServico(configuracaoServico).CteInutilizacao;

            var configuracaoWsdl = CriaConfiguracao(url, configuracaoServico);

            return(new CteInutilizacao(configuracaoWsdl));
        }
Ejemplo n.º 27
0
        public async Task <retEventoCTe> AdicionarCorrecoesAsync(ConfiguracaoServico configuracaoServico = null)
        {
            var eventoCorrecao = ClassesFactory.CriaEvCCeCTe(_infCorrecaos);

            var retorno = await new ServicoController().ExecutarAsync(_cte, _sequenciaEvento, eventoCorrecao, CTeTipoEvento.CartaCorrecao, configuracaoServico);

            return(retorno);
        }
Ejemplo n.º 28
0
        public static CTeDistDFeInteresse CriaWsdlCTeDistDFeInteresse(ConfiguracaoServico configuracaoServico = null)
        {
            var url = UrlHelper.ObterUrlServico(configuracaoServico).CTeDistribuicaoDFe;

            var configuracaoWsdl = CriaConfiguracao(url, configuracaoServico);

            return(new CTeDistDFeInteresse(configuracaoWsdl));
        }
Ejemplo n.º 29
0
 /// <summary>
 /// Retorna verdadeiro para as UFs que utilizam SVC-AN, caso o tipo de emissão seja SVC-AN e o documento seja NF-e
 /// </summary>
 /// <param name="cfgServico"></param>
 /// <returns></returns>
 public static bool UsaSvcanNFe4(this ConfiguracaoServico cfgServico, VersaoServico versaoServico)
 {
     return(Enderecador.EstadosQueUsamSvcAnParaNfe().Contains(cfgServico.cUF) &&
            cfgServico.tpEmis == TipoEmissao.teSVCAN &&
            cfgServico.ModeloDocumento == ModeloDocumento.NFe &&
            versaoServico == VersaoServico.ve400
            );
 }
Ejemplo n.º 30
0
        public async Task <retEventoCTe> DiscordarAsync(ConfiguracaoServico configuracaoServico = null)
        {
            var eventoDiscordar = ClassesFactory.CriaEvPrestDesacordo(_indicadorDesacordo, _observacao);

            var retorno = await new ServicoController().ExecutarAsync(CTeTipoEvento.Desacordo, _sequenciaEvento, _chave, _cnpj, eventoDiscordar, configuracaoServico);

            return(retorno);
        }