Skip to content

Commit

Permalink
Merge pull request #201 from Transis-Felipe/main
Browse files Browse the repository at this point in the history
Incluido prefixo no SigISSv2
  • Loading branch information
rftd authored Mar 16, 2023
2 parents eaf0a29 + d5e2915 commit fab0ec1
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 11 deletions.
26 changes: 18 additions & 8 deletions src/OpenAC.Net.NFSe/Providers/SimplISSv2/ProviderSimplISSv2.cs
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,16 @@ public ProviderSimplISSv2(ConfigNFSe config, OpenMunicipioNFSe municipio) : base

#region Methods


protected override void AssinarEnviar(RetornoEnviar retornoWebservice)
{
retornoWebservice.XmlEnvio = XmlSigning.AssinarXmlTodos(retornoWebservice.XmlEnvio, "Rps", "InfDeclaracaoPrestacaoServico", Certificado);
retornoWebservice.XmlEnvio = XmlSigning.AssinarXml(retornoWebservice.XmlEnvio, "EnviarLoteRpsEnvio", "nfse:LoteRps", Certificado);
//retornoWebservice.XmlEnvio = XmlSigning.AssinarXmlTodos(retornoWebservice.XmlEnvio, "Rps", "InfDeclaracaoPrestacaoServico", Certificado);
//retornoWebservice.XmlEnvio = XmlSigning.AssinarXml(retornoWebservice.XmlEnvio, "EnviarLoteRpsEnvio", "nfse:LoteRps", Certificado);
}

//protected override bool PrecisaValidarSchema(TipoUrl tipo)
//{
// return false;
//}
private XNamespace tc = "http://www.abrasf.org.br/nfse.xsd";
protected override void PrepararEnviar(RetornoEnviar retornoWebservice, NotaServicoCollection notas)
{
if (retornoWebservice.Lote == 0) retornoWebservice.Erros.Add(new Evento { Codigo = "0", Descricao = "Lote não informado." });
Expand All @@ -79,8 +82,15 @@ protected override void PrepararEnviar(RetornoEnviar retornoWebservice, NotaServ
GravarRpsEmDisco(xmlRps, $"Rps-{nota.IdentificacaoRps.DataEmissao:yyyyMMdd}-{nota.IdentificacaoRps.Numero}.xml", nota.IdentificacaoRps.DataEmissao);
}

//Add o prefixo nfse
var document = XDocument.Parse(xmlLoteRps.ToString());
document.ElementAnyNs("Rps").AddAttribute(new XAttribute(XNamespace.Xmlns + "nfse", tc));
NFSeUtil.ApplyNamespace(document.Root, tc);

string mensagemComPrefixo = document.AsString();

var xmlLote = new StringBuilder();
xmlLote.Append($"<EnviarLoteRpsEnvio {GetNamespace()}>");
xmlLote.Append($"<sis:EnviarLoteRpsEnvio {GetNamespace()}>");
xmlLote.Append($"<nfse:LoteRps Id=\"L{retornoWebservice.Lote}\">");
xmlLote.Append($"<nfse:NumeroLote>{retornoWebservice.Lote}</nfse:NumeroLote>");
xmlLote.Append("<nfse:CpfCnpj>");
Expand All @@ -91,10 +101,10 @@ protected override void PrepararEnviar(RetornoEnviar retornoWebservice, NotaServ
xmlLote.Append($"<nfse:InscricaoMunicipal>{Configuracoes.PrestadorPadrao.InscricaoMunicipal}</nfse:InscricaoMunicipal>");
xmlLote.Append($"<nfse:QuantidadeRps>{notas.Count}</nfse:QuantidadeRps>");
xmlLote.Append("<nfse:ListaRps>");
xmlLote.Append(xmlLoteRps);
xmlLote.Append(mensagemComPrefixo);
xmlLote.Append("</nfse:ListaRps>");
xmlLote.Append("</nfse:LoteRps>");
xmlLote.Append("</EnviarLoteRpsEnvio>");
xmlLote.Append("</sis:EnviarLoteRpsEnvio>");

retornoWebservice.XmlEnvio = xmlLote.ToString();
}
Expand Down Expand Up @@ -144,7 +154,7 @@ private XElement WriteInfoRPS(NotaServico nota)

var infoRps = new XElement("InfDeclaracaoPrestacaoServico", new XAttribute("Id", $"R{nota.IdentificacaoRps.Numero}"));

var rps = new XElement("Rps");
var rps = new XElement("Rps", new XAttribute("Id", $"N{nota.IdentificacaoRps.Numero}"));

rps.Add(WriteIdentificacao(nota));
rps.AddChild(AdicionarTag(TipoCampo.DatHor, "", "DataEmissao", 20, 20, Ocorrencia.Obrigatoria, nota.IdentificacaoRps.DataEmissao));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
using System;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
using OpenAC.Net.Core;
using OpenAC.Net.Core.Extensions;
Expand All @@ -43,7 +44,7 @@ internal sealed class SimplISSv2ServiceClient : NFSeSoapServiceClient, IServiceC
{
#region Fields

private XNamespace tc = "http://www.sistema.com.br/Nfse/arquivos/nfse_3.xsd";
private XNamespace tc = "http://www.abrasf.org.br/nfse.xsd";

#endregion Fields

Expand All @@ -61,7 +62,7 @@ public string Enviar(string cabec, string msg)
{
var message = new StringBuilder();
message.Append("<sis:RecepcionarLoteRps>");
message.Append(AjustarMensagem(msg, "LoteRps"));
message.Append(msg);
message.Append("</sis:RecepcionarLoteRps>");

return Execute("http://www.sistema.com.br/Sistema.Ws.Nfse/INfseService/RecepcionarLoteRps", message.ToString(), "RecepcionarLoteRpsResult");
Expand Down Expand Up @@ -133,7 +134,8 @@ public string CancelarNFSe(string cabec, string msg)
private string Execute(string soapAction, string message, string responseTag)
{
return Execute(soapAction, message, "", responseTag, "xmlns:sis=\"http://www.sistema.com.br/Sistema.Ws.Nfse\"",
"xmlns:nfse=\"http://www.abrasf.org.br/nfse.xsd\"");
"xmlns:nfse=\"http://www.abrasf.org.br/nfse.xsd\"",
"xmlns:xd=\"http://www.w3.org/2000/09/xmldsig#\"");
}

public string AjustarMensagem(string msg, params string[] tags)
Expand Down

0 comments on commit fab0ec1

Please sign in to comment.