/// <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 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)); }