public void DeveUrlAmEstarCorretaParaNFeAutorizacaoVersao4() { var url = Enderecador.ObterUrlServico(ServicoNFe.NFeAutorizacao, VersaoServico.Versao400, Estado.AM, TipoAmbiente.Producao, ModeloDocumento.NFe, TipoEmissao.teNormal); Assert.Equal("https://nfe.sefaz.am.gov.br/services2/services/NfeAutorizacao4", url); }
/// <summary> /// Atualiza as versões dos serviços /// <para>Obs: As versões do serviços podem variar em função da UF(<see cref="Estado"/>), do tipo de ambiente(<see cref="TipoAmbiente"/>), do modelo de documento(<see cref="DFe.Classes.Flags.ModeloDocumento"/>) e da forma de emissão(<see cref="TipoEmissao"/>)</para> /// </summary> private void AtualizaVersoes() { if (!_defineVersaoServicosAutomaticamente) { return; } var enderecosMaisecentes = Enderecador.ObterEnderecoServicosMaisRecentes(VersaoLayout, cUF, tpAmb, ModeloDocumento, tpEmis); var obterVersao = new Func <ServicoNFe, VersaoServico>(servico => enderecosMaisecentes.Where(n => n.ServicoNFe == servico).Select(n => n.VersaoServico).FirstOrDefault()); if (enderecosMaisecentes.Any()) { VersaoRecepcaoEventoCceCancelamento = obterVersao(ServicoNFe.RecepcaoEventoCancelmento); VersaoRecepcaoEventoEpec = obterVersao(ServicoNFe.RecepcaoEventoEpec); VersaoRecepcaoEventoManifestacaoDestinatario = obterVersao(ServicoNFe.RecepcaoEventoManifestacaoDestinatario); VersaoNfeRecepcao = obterVersao(ServicoNFe.NfeRecepcao); VersaoNfeRetRecepcao = obterVersao(ServicoNFe.NfeRetRecepcao); VersaoNfeConsultaCadastro = obterVersao(ServicoNFe.NfeConsultaCadastro); VersaoNfeInutilizacao = obterVersao(ServicoNFe.NfeInutilizacao); VersaoNfeConsultaProtocolo = obterVersao(ServicoNFe.NfeConsultaProtocolo); VersaoNfeStatusServico = obterVersao(ServicoNFe.NfeStatusServico); VersaoNFeAutorizacao = obterVersao(ServicoNFe.NFeAutorizacao); VersaoNFeRetAutorizacao = obterVersao(ServicoNFe.NFeRetAutorizacao); VersaoNFeDistribuicaoDFe = obterVersao(ServicoNFe.NFeDistribuicaoDFe); VersaoNfeConsultaDest = obterVersao(ServicoNFe.NfeConsultaDest); VersaoNfeDownloadNF = obterVersao(ServicoNFe.NfeDownloadNF); VersaoNfceAministracaoCSC = obterVersao(ServicoNFe.NfceAdministracaoCSC); } }
public void DeveUrlSpEstarCorretaParaNFeAutorizacaoVersao4() { var url = Enderecador.ObterUrlServico(ServicoNFe.NFeAutorizacao, VersaoServico.Versao400, Estado.SP, TipoAmbiente.Producao, ModeloDocumento.NFe, TipoEmissao.teNormal); Assert.Equal("https://nfe.fazenda.sp.gov.br/ws/nfeautorizacao4.asmx", url); }
/// <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)); }
public void DeveUrlBaEstarCorretaParaNFeAutorizacaoVersao4() { var url = Enderecador.ObterUrlServico(ServicoNFe.NFeAutorizacao, VersaoServico.ve400, Estado.BA, TipoAmbiente.Producao, ModeloDocumento.NFe, TipoEmissao.teNormal); Assert.Equal("https://nfe.sefaz.ba.gov.br/webservices/NFeAutorizacao4/NFeAutorizacao4.asmx", url); }
/// <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)); }
/// <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 ); }
private INfeServicoAutorizacao CriarServicoAutorizacao(ServicoNFe servico, TipoRecepcaoEvento tipoRecepcaoEvento) { var url = Enderecador.ObterUrlServico(servico, tipoRecepcaoEvento, _cFgServico); if (servico != ServicoNFe.NFeAutorizacao) { throw new Exception( $"O serviço {servico} não pode ser criado no método {MethodBase.GetCurrentMethod().Name}!"); } if (_cFgServico.cUF == Estado.PR & _cFgServico.VersaoNFeAutorizacao == VersaoServico.ve310) { return(new NfeAutorizacao3(url, _certificado, _cFgServico.TimeOut)); } return(new NfeAutorizacao(url, _certificado, _cFgServico.TimeOut)); }
private INfeServicoAutorizacao CriarServicoAutorizacao(ServicoNFe servico) { var url = Enderecador.ObterUrlServico(servico, _cFgServico); if (servico != ServicoNFe.NFeAutorizacao) { throw new Exception( string.Format("O serviço {0} não pode ser criado no método {1}!", servico, MethodBase.GetCurrentMethod().Name)); } if (_cFgServico.cUF == Estado.PR & _cFgServico.VersaoNFeAutorizacao == VersaoServico.ve310) { return(new NfeAutorizacao3(url, _certificado, _cFgServico.TimeOut)); } return(new NfeAutorizacao(url, _certificado, _cFgServico.TimeOut)); }
public SvcAnData() { var tiposAmbiente = Enum.GetValues(typeof(TipoAmbiente)).Cast <TipoAmbiente>().ToList(); var servicosAutorizacao = new[] { ServicoNFe.NFeAutorizacao, ServicoNFe.NFeRetAutorizacao }; foreach (var tipoAmbiente in tiposAmbiente) { foreach (var estado in Enderecador.EstadosQueUsamSvcAnParaNfe()) { foreach (var servico in servicosAutorizacao) { Add(estado, tipoAmbiente, servico); } } } }
/// <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) { 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) { DFeSoapConfig soapConfig = new DFeSoapConfig { DFeCorpo = new DFeCorpo("http://www.portalfiscal.inf.br/nfe/wsdl/NFeAutorizacao4", new NfeTagCorpo(cfg.cUF.GetParametroDeEntradaWsdl(compactarMensagem))), DFeCabecalho = new DFeCabecalho(cfg.cUF, ConverteVersaoLayout(cfg.VersaoNFeAutorizacao), new TagCabecalhoVazia(), "http://www.portalfiscal.inf.br/nfe/wsdl/NFeAutorizacao4"), Metodo = compactarMensagem ? "http://www.portalfiscal.inf.br/nfe/wsdl/NFeAutorizacao4/nfeAutorizacaoLoteZIP" : "http://www.portalfiscal.inf.br/nfe/wsdl/NFeAutorizacao4/nfeAutorizacaoLote", Url = url, Certificado = certificado, TimeOut = cfg.TimeOut }; return(new NFeAutorizacao4(soapConfig)); } if (cfg.cUF == Estado.PR & cfg.VersaoNFeAutorizacao == VersaoServico.ve310) { return(new NfeAutorizacao3(url, certificado, cfg.TimeOut)); } return(new NfeAutorizacao(url, certificado, cfg.TimeOut)); }
private INfeServico CriarServico(ServicoNFe servico) { var url = Enderecador.ObterUrlServico(servico, _cFgServico); switch (servico) { case ServicoNFe.NfeStatusServico: if (_cFgServico.cUF == Estado.PR & _cFgServico.VersaoNfeStatusServico == VersaoServico.ve310) { return(new NfeStatusServico3(url, _certificado, _cFgServico.TimeOut)); } if (_cFgServico.cUF == Estado.BA & _cFgServico.VersaoNfeStatusServico == VersaoServico.ve310 & _cFgServico.ModeloDocumento == ModeloDocumento.NFe) { return(new NfeStatusServico(url, _certificado, _cFgServico.TimeOut)); } return(new NfeStatusServico2(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NfeConsultaProtocolo: if (_cFgServico.cUF == Estado.PR & _cFgServico.VersaoNfeConsultaProtocolo == VersaoServico.ve310) { return(new NfeConsulta3(url, _certificado, _cFgServico.TimeOut)); } if (_cFgServico.cUF == Estado.BA & _cFgServico.VersaoNfeConsultaProtocolo == VersaoServico.ve310 & _cFgServico.ModeloDocumento == ModeloDocumento.NFe) { return(new NfeConsulta(url, _certificado, _cFgServico.TimeOut)); } return(new NfeConsulta2(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NfeRecepcao: return(new NfeRecepcao2(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NfeRetRecepcao: return(new NfeRetRecepcao2(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NFeAutorizacao: throw new Exception(string.Format("O serviço {0} não pode ser criado no método {1}!", servico, MethodBase.GetCurrentMethod().Name)); case ServicoNFe.NFeRetAutorizacao: if (_cFgServico.cUF == Estado.PR & _cFgServico.VersaoNFeAutorizacao == VersaoServico.ve310) { return(new NfeRetAutorizacao3(url, _certificado, _cFgServico.TimeOut)); } return(new NfeRetAutorizacao(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NfeInutilizacao: if (_cFgServico.cUF == Estado.PR & _cFgServico.VersaoNfeStatusServico == VersaoServico.ve310) { return(new NfeInutilizacao3(url, _certificado, _cFgServico.TimeOut)); } if (_cFgServico.cUF == Estado.BA & _cFgServico.VersaoNfeStatusServico == VersaoServico.ve310 & _cFgServico.ModeloDocumento == ModeloDocumento.NFe) { return(new NfeInutilizacao(url, _certificado, _cFgServico.TimeOut)); } return(new NfeInutilizacao2(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.RecepcaoEventoCancelmento: case ServicoNFe.RecepcaoEventoCartaCorrecao: case ServicoNFe.RecepcaoEventoManifestacaoDestinatario: return(new RecepcaoEvento(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.RecepcaoEventoEpec: return(new RecepcaoEPEC(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NfeConsultaCadastro: switch (_cFgServico.cUF) { case Estado.CE: return(new Wsdl.ConsultaCadastro.CE.CadConsultaCadastro2(url, _certificado, _cFgServico.TimeOut)); } return(new Wsdl.ConsultaCadastro.DEMAIS_UFs.CadConsultaCadastro2(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NfeDownloadNF: return(new NfeDownloadNF(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NfceAdministracaoCSC: return(new NfceCsc(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NFeDistribuicaoDFe: return(new NfeDistDFeInteresse(url, _certificado, _cFgServico.TimeOut)); } return(null); }
public static INfeServico CriaWsdlOutros( ServicoNFe servico, ConfiguracaoServico cfg, X509Certificate2 certificado) { var url = Enderecador.ObterUrlServico(servico, cfg); switch (servico) { case ServicoNFe.NfeStatusServico: if (cfg.cUF == Estado.PR & cfg.VersaoNfeStatusServico == VersaoServico.ve310) { return(new NfeStatusServico3(url, certificado, cfg.TimeOut)); } if (cfg.cUF == Estado.BA & cfg.VersaoNfeStatusServico == VersaoServico.ve310 & cfg.ModeloDocumento == ModeloDocumento.NFe) { return(new NfeStatusServico(url, certificado, cfg.TimeOut)); } if (cfg.IsSvanNFe4()) { return(new NfeStatusServico4NFeSVAN(url, certificado, cfg.TimeOut)); } if (cfg.VersaoNfeStatusServico == VersaoServico.ve400) { return(new NfeStatusServico4(url, certificado, cfg.TimeOut)); } return(new NfeStatusServico2(url, certificado, cfg.TimeOut)); case ServicoNFe.NfeConsultaProtocolo: if (cfg.IsSvanNFe4()) { return(new NfeConsulta4SVAN(url, certificado, cfg.TimeOut)); } if (cfg.VersaoNfeConsultaProtocolo == VersaoServico.ve400) { return(new NfeConsulta4(url, certificado, cfg.TimeOut)); } if (cfg.cUF == Estado.PR & cfg.VersaoNfeConsultaProtocolo == VersaoServico.ve310) { return(new NfeConsulta3(url, certificado, cfg.TimeOut)); } if (cfg.cUF == Estado.BA & cfg.VersaoNfeConsultaProtocolo == VersaoServico.ve310 & cfg.ModeloDocumento == ModeloDocumento.NFe) { return(new NfeConsulta(url, certificado, cfg.TimeOut)); } return(new NfeConsulta2(url, certificado, cfg.TimeOut)); case ServicoNFe.NfeRecepcao: return(new NfeRecepcao2(url, certificado, cfg.TimeOut)); case ServicoNFe.NfeRetRecepcao: return(new NfeRetRecepcao2(url, certificado, cfg.TimeOut)); case ServicoNFe.NFeAutorizacao: throw new Exception(string.Format("O serviço {0} não pode ser criado no método {1}!", servico, MethodBase.GetCurrentMethod().Name)); case ServicoNFe.NFeRetAutorizacao: if (cfg.IsSvanNFe4()) { return(new NfeRetAutorizacao4SVAN(url, certificado, cfg.TimeOut)); } if (cfg.VersaoNFeRetAutorizacao == VersaoServico.ve400) { return(new NfeRetAutorizacao4(url, certificado, cfg.TimeOut)); } if (cfg.cUF == Estado.PR & cfg.VersaoNFeAutorizacao == VersaoServico.ve310) { return(new NfeRetAutorizacao3(url, certificado, cfg.TimeOut)); } return(new NfeRetAutorizacao(url, certificado, cfg.TimeOut)); case ServicoNFe.NfeInutilizacao: if (cfg.IsSvanNFe4()) { return(new NFeInutilizacao4SVAN(url, certificado, cfg.TimeOut)); } if (cfg.VersaoNfeStatusServico == VersaoServico.ve400) { return(new NFeInutilizacao4(url, certificado, cfg.TimeOut)); } if (cfg.cUF == Estado.PR & cfg.VersaoNfeStatusServico == VersaoServico.ve310) { return(new NfeInutilizacao3(url, certificado, cfg.TimeOut)); } if (cfg.cUF == Estado.BA & cfg.VersaoNfeStatusServico == VersaoServico.ve310 & cfg.ModeloDocumento == ModeloDocumento.NFe) { return(new NfeInutilizacao(url, certificado, cfg.TimeOut)); } return(new NfeInutilizacao2(url, certificado, cfg.TimeOut)); case ServicoNFe.RecepcaoEventoCancelmento: case ServicoNFe.RecepcaoEventoCartaCorrecao: if (cfg.IsSvanNFe4()) { return(new RecepcaoEvento4SVAN(url, certificado, cfg.TimeOut)); } if (cfg.VersaoRecepcaoEventoCceCancelamento == VersaoServico.ve400) { return(new RecepcaoEvento4(url, certificado, cfg.TimeOut)); } return(new RecepcaoEvento(url, certificado, cfg.TimeOut)); case ServicoNFe.RecepcaoEventoManifestacaoDestinatario: { if (cfg.VersaoRecepcaoEventoManifestacaoDestinatario == VersaoServico.ve400) { return(new RecepcaoEvento4AN(url, certificado, cfg.TimeOut)); } return(new RecepcaoEvento(url, certificado, cfg.TimeOut)); } case ServicoNFe.RecepcaoEventoEpec: return(new RecepcaoEPEC(url, certificado, cfg.TimeOut)); case ServicoNFe.NfeConsultaCadastro: switch (cfg.cUF) { case Estado.CE: return(new Wsdl.ConsultaCadastro.CE.CadConsultaCadastro2(url, certificado, cfg.TimeOut)); } if (cfg.VersaoNfeConsultaCadastro == VersaoServico.ve400) { return(new Wsdl.ConsultaCadastro.DEMAIS_UFs.CadConsultaCadastro4(url, certificado, cfg.TimeOut)); } return(new Wsdl.ConsultaCadastro.DEMAIS_UFs.CadConsultaCadastro2(url, certificado, cfg.TimeOut)); case ServicoNFe.NfeDownloadNF: return(new NfeDownloadNF(url, certificado, cfg.TimeOut)); case ServicoNFe.NfceAdministracaoCSC: return(new NfceCsc(url, certificado, cfg.TimeOut)); case ServicoNFe.NFeDistribuicaoDFe: return(new NfeDistDFeInteresse(url, certificado, cfg.TimeOut)); } return(null); }
private INfeServico CriarServico(ServicoNFe servico, TipoRecepcaoEvento tipoRecepcaoEvento) { var url = Enderecador.ObterUrlServico(servico, tipoRecepcaoEvento, _cFgServico); switch (servico) { case ServicoNFe.NfeStatusServico: if (_cFgServico.cUF == Estado.PR & _cFgServico.VersaoNfeStatusServico == VersaoServico.ve310) { return(new NfeStatusServico3(url, _certificado, _cFgServico.TimeOut)); } if (_cFgServico.cUF == Estado.BA & _cFgServico.VersaoNfeStatusServico == VersaoServico.ve310 & _cFgServico.ModeloDocumento == ModeloDocumento.NFe) { return(new NfeStatusServico(url, _certificado, _cFgServico.TimeOut)); } return(new NfeStatusServico2(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NfeConsultaProtocolo: if (_cFgServico.cUF == Estado.PR & _cFgServico.VersaoNfeConsultaProtocolo == VersaoServico.ve310) { return(new NfeConsulta3(url, _certificado, _cFgServico.TimeOut)); } if (_cFgServico.cUF == Estado.BA & _cFgServico.VersaoNfeConsultaProtocolo == VersaoServico.ve310 & _cFgServico.ModeloDocumento == ModeloDocumento.NFe) { return(new NfeConsulta(url, _certificado, _cFgServico.TimeOut)); } return(new NfeConsulta2(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NfeRecepcao: return(new NfeRecepcao2(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NfeRetRecepcao: return(new NfeRetRecepcao2(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NFeAutorizacao: throw new Exception($"O serviço {servico} não pode ser criado no método {MethodBase.GetCurrentMethod().Name}!"); case ServicoNFe.NFeRetAutorizacao: if (_cFgServico.cUF == Estado.PR & _cFgServico.VersaoNFeAutorizacao == VersaoServico.ve310) { return(new NfeRetAutorizacao3(url, _certificado, _cFgServico.TimeOut)); } return(new NfeRetAutorizacao(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NfeInutilizacao: if (_cFgServico.cUF == Estado.PR & _cFgServico.VersaoNfeStatusServico == VersaoServico.ve310) { return(new NfeInutilizacao3(url, _certificado, _cFgServico.TimeOut)); } if (_cFgServico.cUF == Estado.BA & _cFgServico.VersaoNfeStatusServico == VersaoServico.ve310 & _cFgServico.ModeloDocumento == ModeloDocumento.NFe) { return(new NfeInutilizacao(url, _certificado, _cFgServico.TimeOut)); } return(new NfeInutilizacao2(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.RecepcaoEvento: if (_cFgServico.cUF == Estado.SP & _cFgServico.VersaoRecepcaoEvento == VersaoServico.ve310 & _cFgServico.ModeloDocumento == ModeloDocumento.NFCe & tipoRecepcaoEvento == TipoRecepcaoEvento.Epec) { return(new RecepcaoEPEC(url, _certificado, _cFgServico.TimeOut)); } return(new RecepcaoEvento(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NfeConsultaCadastro: switch (_cFgServico.cUF) { case Estado.CE: return(new Wsdl.ConsultaCadastro.CE.CadConsultaCadastro2(url, _certificado, _cFgServico.TimeOut)); } return(new Wsdl.ConsultaCadastro.DEMAIS_UFs.CadConsultaCadastro2(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NfeDownloadNF: return(new NfeDownloadNF(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NfceAdministracaoCSC: return(new NfceCsc(url, _certificado, _cFgServico.TimeOut)); } return(null); }
/// <summary> /// Retorna verdadeiro para as UFs que utilizam a SVAN - Sefaz Virtual do Ambiente Nacional, para serviços com versão 4.0 /// </summary> /// <returns></returns> public static bool UsaSvanNFe4(this ConfiguracaoServico cfgServico, VersaoServico versaoServico) { return(Enderecador.EstadosQueUsamSvanParaNfe().Contains(cfgServico.cUF) && versaoServico == VersaoServico.ve400 && cfgServico.ModeloDocumento == ModeloDocumento.NFe); }
public void DeveUfSvcRsTerServicoDeAutorizacaoParaNFe4(Estado uf, TipoAmbiente tipoAmbiente, ServicoNFe servicoAutorizacao) { var lista = Enderecador.ObterEnderecoServicosMaisRecentes(VersaoServico.Versao400, uf, tipoAmbiente, ModeloDocumento.NFe, TipoEmissao.teSVCRS); Assert.Equal(1, lista.Count(n => n.ServicoNFe == servicoAutorizacao)); }
private INfeServico CriarServico(ServicoNFe servico, TipoRecepcaoEvento tipoRecepcaoEvento) { var url = Enderecador.ObterUrlServico(servico, tipoRecepcaoEvento, _cFgServico); switch (servico) { case ServicoNFe.NfeStatusServico: if (_cFgServico.cUF == Estado.PR & _cFgServico.VersaoNfeStatusServico == VersaoServico.ve310) { return(new NfeStatusServico3(url, _certificado, _cFgServico.TimeOut)); } if (_cFgServico.cUF == Estado.BA & _cFgServico.VersaoNfeStatusServico == VersaoServico.ve310 & _cFgServico.ModeloDocumento == ModeloDocumento.NFe) { return(new NfeStatusServico(url, _certificado, _cFgServico.TimeOut)); } return(new NfeStatusServico2(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NfeConsultaProtocolo: if (_cFgServico.cUF == Estado.PR & _cFgServico.VersaoNfeConsultaProtocolo == VersaoServico.ve310) { return(new NfeConsulta3(url, _certificado, _cFgServico.TimeOut)); } if (_cFgServico.cUF == Estado.BA & _cFgServico.VersaoNfeConsultaProtocolo == VersaoServico.ve310 & _cFgServico.ModeloDocumento == ModeloDocumento.NFe) { return(new NfeConsulta(url, _certificado, _cFgServico.TimeOut)); } return(new NfeConsulta2(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NfeRecepcao: return(new NfeRecepcao2(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NfeRetRecepcao: return(new NfeRetRecepcao2(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NFeAutorizacao: if (_cFgServico.cUF == Estado.PR & _cFgServico.VersaoNFeAutorizacao == VersaoServico.ve310) { return(new NfeAutorizacao3(url, _certificado, _cFgServico.TimeOut)); } return(new NfeAutorizacao(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NFeRetAutorizacao: if (_cFgServico.cUF == Estado.PR & _cFgServico.VersaoNFeAutorizacao == VersaoServico.ve310) { return(new NfeRetAutorizacao3(url, _certificado, _cFgServico.TimeOut)); } return(new NfeRetAutorizacao(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NfeInutilizacao: if (_cFgServico.cUF == Estado.PR & _cFgServico.VersaoNfeStatusServico == VersaoServico.ve310) { return(new NfeInutilizacao3(url, _certificado, _cFgServico.TimeOut)); } if (_cFgServico.cUF == Estado.BA & _cFgServico.VersaoNfeStatusServico == VersaoServico.ve310 & _cFgServico.ModeloDocumento == ModeloDocumento.NFe) { return(new NfeInutilizacao(url, _certificado, _cFgServico.TimeOut)); } return(new NfeInutilizacao2(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.RecepcaoEvento: if (_cFgServico.cUF == Estado.SP & _cFgServico.VersaoRecepcaoEvento == VersaoServico.ve310 & _cFgServico.ModeloDocumento == ModeloDocumento.NFCe & tipoRecepcaoEvento == TipoRecepcaoEvento.Epec) { return(new RecepcaoEPEC(url, _certificado, _cFgServico.TimeOut)); } return(new RecepcaoEvento(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NfeConsultaCadastro: switch (_cFgServico.cUF) { case Estado.CE: return(new Wsdl.ConsultaCadastro.CE.CadConsultaCadastro2(url, _certificado, _cFgServico.TimeOut)); } return(new Wsdl.ConsultaCadastro.DEMAIS_UFs.CadConsultaCadastro2(url, _certificado, _cFgServico.TimeOut)); case ServicoNFe.NfeDownloadNF: return(new NfeDownloadNF(url, _certificado, _cFgServico.TimeOut)); } return(null); }