Skip to content

Commit

Permalink
Merge pull request #90 from transis2/patch-9
Browse files Browse the repository at this point in the history
Update ProviderSintese.cs
  • Loading branch information
rftd authored Jun 2, 2022
2 parents eee77dc + 3881f3b commit 0357ddc
Showing 1 changed file with 73 additions and 1 deletion.
74 changes: 73 additions & 1 deletion src/OpenAC.Net.NFSe/Providers/Sintese/ProviderSintese.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,14 @@
// <summary></summary>
// ***********************************************************************

using OpenAC.Net.Core.Extensions;
using OpenAC.Net.DFe.Core;
using OpenAC.Net.DFe.Core.Serializer;
using OpenAC.Net.NFSe.Configuracao;
using OpenAC.Net.NFSe.Nota;
using System.Linq;
using System.Text;
using System.Xml.Linq;

namespace OpenAC.Net.NFSe.Providers
{
Expand All @@ -47,9 +54,74 @@ public ProviderSintese(ConfigNFSe config, OpenMunicipioNFSe municipio) : base(co

#region Methods

protected override XElement WriteTomadorRps(NotaServico nota)
{
var tomador = new XElement("TomadorServico");

if (!nota.Tomador.CpfCnpj.IsEmpty())
{
var ideTomador = new XElement("IdentificacaoTomador");
tomador.Add(ideTomador);

var cpfCnpjTomador = new XElement("CpfCnpj");
ideTomador.Add(cpfCnpjTomador);

cpfCnpjTomador.AddChild(AdicionarTagCNPJCPF("", "Cpf", "Cnpj", nota.Tomador.CpfCnpj));

ideTomador.AddChild(AdicionarTag(TipoCampo.Str, "", "InscricaoMunicipal", 1, 15,
Ocorrencia.NaoObrigatoria, nota.Tomador.InscricaoMunicipal));
}

tomador.AddChild(AdicionarTag(TipoCampo.Str, "", "RazaoSocial", 1, 115, Ocorrencia.NaoObrigatoria, nota.Tomador.RazaoSocial));

if (!nota.Tomador.Endereco.Logradouro.IsEmpty() ||
!nota.Tomador.Endereco.Numero.IsEmpty() ||
!nota.Tomador.Endereco.Complemento.IsEmpty() ||
!nota.Tomador.Endereco.Bairro.IsEmpty() ||
nota.Tomador.Endereco.CodigoMunicipio > 0 ||
!nota.Tomador.Endereco.Uf.IsEmpty() ||
nota.Tomador.Endereco.CodigoPais > 0 ||
!nota.Tomador.Endereco.Cep.IsEmpty())
{
var endereco = new XElement("Endereco");
tomador.Add(endereco);

endereco.AddChild(AdicionarTag(TipoCampo.Str, "", "Endereco", 1, 125, Ocorrencia.NaoObrigatoria, nota.Tomador.Endereco.Logradouro));
endereco.AddChild(AdicionarTag(TipoCampo.Str, "", "Numero", 1, 10, Ocorrencia.NaoObrigatoria, nota.Tomador.Endereco.Numero));
endereco.AddChild(AdicionarTag(TipoCampo.Str, "", "Complemento", 1, 60, Ocorrencia.NaoObrigatoria, nota.Tomador.Endereco.Complemento));
endereco.AddChild(AdicionarTag(TipoCampo.Str, "", "Bairro", 1, 60, Ocorrencia.NaoObrigatoria, nota.Tomador.Endereco.Bairro));
endereco.AddChild(AdicionarTag(TipoCampo.Int, "", "CodigoMunicipio", 7, 7, Ocorrencia.MaiorQueZero, nota.Tomador.Endereco.CodigoMunicipio));
endereco.AddChild(AdicionarTag(TipoCampo.Str, "", "Uf", 2, 2, Ocorrencia.NaoObrigatoria, nota.Tomador.Endereco.Uf));
endereco.AddChild(AdicionarTag(TipoCampo.StrNumber, "", "Cep", 8, 8, Ocorrencia.NaoObrigatoria, nota.Tomador.Endereco.Cep));
}

if (!nota.Tomador.DadosContato.Telefone.IsEmpty() ||
!nota.Tomador.DadosContato.Email.IsEmpty())
{
var contato = new XElement("Contato");
tomador.Add(contato);

contato.AddChild(AdicionarTag(TipoCampo.StrNumber, "", "Telefone", 1, 11, Ocorrencia.NaoObrigatoria, nota.Tomador.DadosContato.DDD + nota.Tomador.DadosContato.Telefone));
contato.AddChild(AdicionarTag(TipoCampo.Str, "", "Email", 1, 80, Ocorrencia.NaoObrigatoria, nota.Tomador.DadosContato.Email));
}

return tomador;
}


protected override void AssinarEnviarSincrono(RetornoEnviar retornoWebservice)
{
retornoWebservice.XmlEnvio = XmlSigning.AssinarXml(retornoWebservice.XmlEnvio, "Rps", "", Certificado);
}

protected override IServiceClient GetClient(TipoUrl tipo) => new SinteseServiceClient(this, tipo, Certificado);

protected override bool PrecisaValidarSchema(TipoUrl tipo)
{
return false;
}

#endregion Methods

}
}
}

0 comments on commit 0357ddc

Please sign in to comment.