protected override void TratarRetornoConsultarNFSe(RetornoConsultarNFSe retornoWebservice, NotaServicoCollection notas) { // Analisa mensagem de retorno var xmlRet = XDocument.Parse(retornoWebservice.XmlRetorno); MensagemErro(retornoWebservice, xmlRet.Root, "ConsultarNfseResposta"); if (retornoWebservice.Erros.Any()) return; var retornoLote = xmlRet.Root.ElementAnyNs("ConsultarNfseResposta"); var listaNfse = retornoLote?.ElementAnyNs("ListaNfse"); if (listaNfse == null) { retornoWebservice.Erros.Add(new Evento { Codigo = "0", Descricao = "Lista de NFSe não encontrada! (ListaNfse)" }); return; } var notasServico = new List<NotaServico>(); foreach (var compNfse in listaNfse.ElementsAnyNs("CompNfse")) { // Carrega a nota fiscal na coleção de Notas Fiscais var nota = LoadXml(compNfse.AsString()); notas.Add(nota); notasServico.Add(nota); } retornoWebservice.Notas = notasServico.ToArray(); retornoWebservice.Sucesso = true; }
protected override void PrepararConsultarNFSe(RetornoConsultarNFSe retornoWebservice) { if (retornoWebservice.NumeroNFse < 1) { retornoWebservice.Erros.Add(new Evento { Codigo = "0", Descricao = "Número do NFSe não informado para a consulta." }); return; } if (retornoWebservice.Inicio == null) { retornoWebservice.Erros.Add(new Evento { Codigo = "0", Descricao = "Você deve informar a competência no campo Início." }); return; } // Monta mensagem de envio var loteBuilder = new StringBuilder(); loteBuilder.Append($"<Competencia_Mes>{retornoWebservice.Inicio?.Month.ZeroFill(2)}</Competencia_Mes>"); loteBuilder.Append($"<Competencia_Ano>{retornoWebservice.Inicio?.Year}</Competencia_Ano>"); loteBuilder.Append($"<RPS_Serie></RPS_Serie>"); loteBuilder.Append($"<RPS_Numero></RPS_Numero>"); loteBuilder.Append($"<Nota_Serie>{retornoWebservice.SerieNFse}</Nota_Serie>"); loteBuilder.Append($"<Nota_Numero>{retornoWebservice.NumeroNFse}</Nota_Numero>"); retornoWebservice.XmlEnvio = loteBuilder.ToString(); }
protected override void PrepararConsultarNFSe(RetornoConsultarNFSe retornoWebservice) { var loteBuilder = new StringBuilder(); loteBuilder.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); loteBuilder.Append("<ConsultarNfseEnvio xmlns=\"http://www.issnetonline.com.br/webserviceabrasf/vsd/servico_consultar_nfse_envio.xsd\">" + "xmlns:tc=\"http://www.issnetonline.com.br/webserviceabrasf/vsd/tipos_complexos.xsd\">"); loteBuilder.Append("<Prestador>"); loteBuilder.Append($"<tc:CpfCnpj><tc:Cnpj>{Configuracoes.PrestadorPadrao.CpfCnpj.ZeroFill(14)}</tc:Cnpj></tc:CpfCnpj>"); loteBuilder.Append($"<tc:InscricaoMunicipal>{Configuracoes.PrestadorPadrao.InscricaoMunicipal}</tc:InscricaoMunicipal>"); loteBuilder.Append("</Prestador>"); if (retornoWebservice.NumeroNFse > 0) { loteBuilder.Append($"<NumeroNfse>{retornoWebservice.NumeroNFse}</tc:NumeroNfse>"); } if (retornoWebservice.Inicio.HasValue && retornoWebservice.Fim.HasValue) { loteBuilder.Append("<PeriodoEmissao>"); loteBuilder.Append($"<DataInicial>{retornoWebservice.Inicio:yyyy-MM-dd}</DataInicial>"); loteBuilder.Append($"<DataFinal>{retornoWebservice.Fim:yyyy-MM-dd}</DataFinal>"); loteBuilder.Append("</PeriodoEmissao>"); } if (!retornoWebservice.CPFCNPJTomador.IsEmpty()) { loteBuilder.Append("<Tomador>"); loteBuilder.Append("<tc:CpfCnpj>"); loteBuilder.Append(retornoWebservice.CPFCNPJTomador.IsCNPJ() ? $"<tc:Cnpj>{retornoWebservice.CPFCNPJTomador.ZeroFill(14)}</tc:Cnpj>" : $"<tc:Cpf>{retornoWebservice.CPFCNPJTomador.ZeroFill(11)}</tc:Cpf>"); loteBuilder.Append("</tc:CpfCnpj>"); if (!retornoWebservice.IMTomador.IsEmpty()) { loteBuilder.Append($"<tc:InscricaoMunicipal>{retornoWebservice.CPFCNPJTomador}</tc:InscricaoMunicipal>"); } loteBuilder.Append("</Tomador>"); } if (!retornoWebservice.NomeIntermediario.IsEmpty() && !retornoWebservice.CPFCNPJIntermediario.IsEmpty()) { loteBuilder.Append("<IntermediarioServico>"); loteBuilder.Append($"<tc:RazaoSocial>{retornoWebservice.NomeIntermediario}</tc:RazaoSocial>"); loteBuilder.Append("<tc:CpfCnpj>"); loteBuilder.Append(retornoWebservice.CPFCNPJIntermediario.IsCNPJ() ? $"<tc:Cnpj>{retornoWebservice.CPFCNPJIntermediario.ZeroFill(14)}</tc:Cnpj>" : $"<tc:Cpf>{retornoWebservice.CPFCNPJIntermediario.ZeroFill(11)}</tc:Cpf>"); loteBuilder.Append("</tc:CpfCnpj>"); if (!retornoWebservice.IMIntermediario.IsEmpty()) { loteBuilder.Append($"<tc:InscricaoMunicipal>{retornoWebservice.IMIntermediario}</tc:InscricaoMunicipal>"); } loteBuilder.Append("</IntermediarioServico>"); } loteBuilder.Append("</ConsultarNfseEnvio>"); retornoWebservice.XmlEnvio = loteBuilder.ToString(); }
protected override void PrepararConsultarNFSe(RetornoConsultarNFSe retornoWebservice) { var xml = new StringBuilder(); xml.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); xml.Append("<es:esConsultarNfseEnvio xmlns:es=\"http://www.equiplano.com.br/esnfs\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.equiplano.com.br/enfs esConsultarNfsePorRpsEnvio_v01.xsd\">"); xml.Append("<prestador>"); xml.Append($"<cnpj>{Configuracoes.PrestadorPadrao.CpfCnpj}</cnpj>"); xml.Append($"<idEntidade>{Municipio.IdEntidade}</idEntidade>"); xml.Append("</prestador>"); if (retornoWebservice.NumeroNFse > 0) { xml.Append($"<nrNfse>{ retornoWebservice.NumeroNFse }</nrNfse>"); } else { if (!retornoWebservice.Inicio.HasValue || !retornoWebservice.Fim.HasValue) { retornoWebservice.Erros.Add(new Evento { Codigo = "0", Descricao = "Data de início ou fim não informada para a consulta." }); return; } xml.Append("<periodoEmissao>"); xml.Append($"<dtInicial>{retornoWebservice.Inicio:yyyy'-'MM'-'dd'T'HH':'mm':'ss}</dtInicial>"); xml.Append($"<dtFinal>{retornoWebservice.Fim:yyyy'-'MM'-'dd'T'HH':'mm':'ss}</dtFinal>"); xml.Append("</periodoEmissao>"); } xml.Append("</es:esConsultarNfseEnvio>"); retornoWebservice.XmlEnvio = xml.ToString();; }
protected override void TratarRetornoConsultarNFSe(RetornoConsultarNFSe retornoWebservice, NotaServicoCollection notas) { // Analisa mensagem de retorno var xmlRet = XDocument.Parse(AjustarRetorno(retornoWebservice.XmlRetorno)); MensagemErro(retornoWebservice, xmlRet, "WS_ConsultaNfse.ExecuteResponse", "Listamensagemretorno", "tcMensagemRetorno"); if (retornoWebservice.Erros.Count > 0) { return; } var retornoLote = xmlRet.ElementAnyNs("WS_ConsultaNfse.ExecuteResponse").ElementAnyNs("Consultarnfseresposta"); var listaNfse = retornoLote?.ElementAnyNs("ListaNfse"); if (listaNfse == null) { retornoWebservice.Erros.Add(new Evento { Codigo = "0", Descricao = "Lista de NFSe não encontrada! (ListaNfse)" }); return; } var notasServico = new List <NotaServico>(); foreach (var compNfse in listaNfse.ElementsAnyNs("CompNfse")) { var nota = LoadXml(compNfse.AsString()); notas.Add(nota); notasServico.Add(nota); } retornoWebservice.Notas = notasServico.ToArray(); retornoWebservice.Sucesso = true; }
protected override void PrepararConsultarNFSe(RetornoConsultarNFSe retornoWebservice) { var loteBuilder = new StringBuilder(); loteBuilder.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); loteBuilder.Append("<WS_ConsultaNfse.Execute xmlns:fiss=\"FISS-LEX\">"); loteBuilder.Append("<fiss:Consultarnfseenvio>"); loteBuilder.Append("<Prestador>"); loteBuilder.Append($"<Cnpj>{Configuracoes.PrestadorPadrao.CpfCnpj.ZeroFill(14)}</Cnpj>"); loteBuilder.Append($"<InscricaoMunicipal>{Configuracoes.PrestadorPadrao.InscricaoMunicipal}</InscricaoMunicipal>"); loteBuilder.Append("</Prestador>"); if (retornoWebservice.NumeroNFse > 0) { loteBuilder.Append($"<NumeroNfse>{retornoWebservice.NumeroNFse}</NumeroNfse>"); } if (retornoWebservice.Inicio.HasValue && retornoWebservice.Fim.HasValue) { loteBuilder.Append("<PeriodoEmissao>"); loteBuilder.Append($"<DataInicial>{retornoWebservice.Inicio:yyyy-MM-dd}</DataInicial>"); loteBuilder.Append($"<DataFinal>{retornoWebservice.Fim:yyyy-MM-dd}</DataFinal>"); loteBuilder.Append("</PeriodoEmissao>"); } if (!retornoWebservice.CPFCNPJTomador.IsEmpty()) { loteBuilder.Append("<Tomador>"); loteBuilder.Append("<CpfCnpj>"); loteBuilder.Append(retornoWebservice.CPFCNPJTomador.IsCNPJ() ? $"<Cnpj>{retornoWebservice.CPFCNPJTomador.ZeroFill(14)}</Cnpj>" : $"<Cpf>{retornoWebservice.CPFCNPJTomador.ZeroFill(11)}</Cpf>"); loteBuilder.Append("</CpfCnpj>"); if (!retornoWebservice.IMTomador.IsEmpty()) { loteBuilder.Append($"<InscricaoMunicipal>{retornoWebservice.IMTomador}</InscricaoMunicipal>"); } loteBuilder.Append("</Tomador>"); } if (!retornoWebservice.NomeIntermediario.IsEmpty() && !retornoWebservice.CPFCNPJIntermediario.IsEmpty()) { loteBuilder.Append("<IntermediarioServico>"); loteBuilder.Append($"<RazaoSocial>{retornoWebservice.NomeIntermediario}</RazaoSocial>"); loteBuilder.Append(retornoWebservice.CPFCNPJIntermediario.IsCNPJ() ? $"<Cnpj>{retornoWebservice.CPFCNPJIntermediario.ZeroFill(14)}</Cnpj>" : $"<Cpf>{retornoWebservice.CPFCNPJIntermediario.ZeroFill(11)}</Cpf>"); loteBuilder.Append("</CpfCnpj>"); if (!retornoWebservice.IMIntermediario.IsEmpty()) { loteBuilder.Append($"<InscricaoMunicipal>{retornoWebservice.IMIntermediario}</InscricaoMunicipal>"); } loteBuilder.Append("</IntermediarioServico>"); } loteBuilder.Append("</fiss:Consultarnfseenvio>"); loteBuilder.Append("</WS_ConsultaNfse.Execute>"); retornoWebservice.XmlEnvio = loteBuilder.ToString(); }
protected override void PrepararConsultarNFSe(RetornoConsultarNFSe retornoWebservice) { if (retornoWebservice.NumeroNFse < 1) { retornoWebservice.Erros.Add(new Evento { Codigo = "0", Descricao = "Número do RPS/NFSe não informado para a consulta." }); return; } retornoWebservice.XmlEnvio = ConsultarRPSNFSe(0, "", retornoWebservice.NumeroNFse); }
protected override void TratarRetornoConsultarNFSe(RetornoConsultarNFSe retornoWebservice, NotaServicoCollection notas) { // Analisa mensagem de retorno var xmlRet = XDocument.Parse(retornoWebservice.XmlRetorno); MensagemErro(retornoWebservice, xmlRet.ElementAnyNs("esConsultarNfseResposta"), "mensagemRetorno"); if (retornoWebservice.Erros.Count > 0) { return; } var elementRoot = xmlRet.ElementAnyNs("esConsultarNfseResposta"); var listaNfse = elementRoot.ElementAnyNs("listaNfse"); if (listaNfse == null) { retornoWebservice.Erros.Add(new Evento { Codigo = "0", Descricao = "Lista de NFSe não encontrada! (listaNfse)" }); return; } var notasServico = new List <NotaServico>(); foreach (var nfse in listaNfse.ElementsAnyNs("nfse")) { var nota = new NotaServico(Configuracoes); nota.IdentificacaoNFSe.Chave = nfse?.ElementAnyNs("cdAutenticacao")?.GetValue <string>() ?? string.Empty; nota.IdentificacaoNFSe.Numero = nfse?.ElementAnyNs("nrNfse")?.GetValue <string>() ?? string.Empty; nota.IdentificacaoRps.Numero = nfse?.ElementAnyNs("nrRps")?.GetValue <string>() ?? string.Empty; nota.IdentificacaoNFSe.DataEmissao = nfse.ElementAnyNs("dtEmissaoNfs")?.GetValue <DateTime>() ?? DateTime.MinValue; nota.Situacao = SituacaoNFSeRps.Normal; var infoCancelamento = nfse.ElementAnyNs("cancelamento"); if (infoCancelamento != null) { nota.Cancelamento.DataHora = infoCancelamento.ElementAnyNs("dtCancelamento")?.GetValue <DateTime>() ?? DateTime.MinValue; nota.Cancelamento.MotivoCancelamento = infoCancelamento?.ElementAnyNs("dsCancelamento")?.GetValue <string>() ?? string.Empty; nota.Situacao = SituacaoNFSeRps.Cancelado; } notas.Add(nota); notasServico.Add(nota); } retornoWebservice.Notas = notasServico.ToArray(); retornoWebservice.Sucesso = true; }
protected override void TratarRetornoConsultarNFSe(RetornoConsultarNFSe retornoWebservice, NotaServicoCollection notas) { // Analisa mensagem de retorno var xmlRet = XDocument.Parse(retornoWebservice.XmlRetorno); var xmlString = xmlRet.Root.ElementAnyNs("Xml_saida").GetValue <string>(); xmlRet = XDocument.Parse(xmlString); MensagemErro2(retornoWebservice, xmlRet); if (retornoWebservice.Erros.Any()) { return; } var xmlElement = xmlRet.ElementAnyNs("Info"); var listaNfse = xmlElement.ElementAnyNs("Lista_Notas"); if (listaNfse == null) { retornoWebservice.Erros.Add(new Evento { Codigo = "0", Descricao = "Nota Fiscal não encontrada! (Nota)" }); return; } var notasServico = new List <NotaServico>(); foreach (var compNfse in listaNfse.ElementsAnyNs("Nota")) { // Carrega a nota fiscal na coleção de Notas Fiscais var nota = LoadXml(compNfse.AsString()); notas.Add(nota); notasServico.Add(nota); } retornoWebservice.Notas = notasServico.ToArray(); retornoWebservice.Sucesso = true; }
protected override void TratarRetornoConsultarNFSe(RetornoConsultarNFSe retornoWebservice, NotaServicoCollection notas) { var xmlRet = XDocument.Parse(retornoWebservice.XmlRetorno); MensagemErro(retornoWebservice, xmlRet, "RetornoConsulta"); if (retornoWebservice.Erros.Any()) { return; } retornoWebservice.Sucesso = xmlRet.Root?.ElementAnyNs("Cabecalho")?.ElementAnyNs("Sucesso")?.GetValue <bool>() ?? false; if (!retornoWebservice.Sucesso) { return; } var notasServico = xmlRet.Root.ElementsAnyNs("NFe").Select(nfse => LoadXml(nfse.ToString())).ToList(); retornoWebservice.Notas = notasServico.ToArray(); notasServico.AddRange(notasServico); }
protected override void AssinarConsultarNFSe(RetornoConsultarNFSe retornoWebservice) { }
protected override void AssinarConsultarNFSe(RetornoConsultarNFSe retornoWebservice) { //Não precisa assinar. }
protected override void AssinarConsultarNFSe(RetornoConsultarNFSe retornoWebservice) { retornoWebservice.XmlEnvio = XmlSigning.AssinarXml(retornoWebservice.XmlEnvio, "p1:PedidoConsultaNFe", "", Certificado); }