Skip to content

Commit a2ea8c9

Browse files
author
Letícia Lopes
committed
fazendo giss jaboticabal
1 parent 971546b commit a2ea8c9

31 files changed

Lines changed: 4607 additions & 26 deletions

src/OpenAC.Net.NFSe.Demo/FormMain.cs

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -548,6 +548,10 @@ private void GerarRps()
548548
nfSe.IdentificacaoRps.Serie = "NF";
549549
nfSe.IdentificacaoRps.SeriePrestacao = "99";
550550
break;
551+
552+
case NFSeProvider.GISS:
553+
nfSe.IdentificacaoRps.Serie = "NFT";
554+
break;
551555

552556
default:
553557
nfSe.IdentificacaoRps.Serie = "1";
@@ -574,7 +578,7 @@ private void GerarRps()
574578
nfSe.RegimeEspecialTributacao = RegimeEspecialTributacao.SimplesNacional;
575579
nfSe.IncentivadorCultural = NFSeSimNao.Nao;
576580

577-
var itemListaServico = municipio.Provedor.IsIn(NFSeProvider.Betha, NFSeProvider.ISSe, NFSeProvider.ISSCuritiba) ? "0107" : "01.07";
581+
var itemListaServico = municipio.Provedor.IsIn(NFSeProvider.Betha, NFSeProvider.ISSe, NFSeProvider.ISSCuritiba) ? "0107" : "17.05";
578582
if (InputBox.Show("Item na lista de serviço", "Informe o item na lista de serviço.", ref itemListaServico).Equals(DialogResult.Cancel)) return;
579583

580584
// Setar o cnae de acordo com o schema aceito pelo provedor.
@@ -596,19 +600,19 @@ private void GerarRps()
596600
nfSe.Servico.MunicipioIncidencia = nfSe.Servico.CodigoMunicipio;
597601
}
598602

599-
nfSe.Servico.Valores.ValorServicos = 100;
603+
nfSe.Servico.Valores.ValorServicos = 1;
600604
nfSe.Servico.Valores.ValorDeducoes = 0;
601605
nfSe.Servico.Valores.ValorPis = 0;
602606
nfSe.Servico.Valores.ValorCofins = 0;
603607
nfSe.Servico.Valores.ValorInss = 0;
604608
nfSe.Servico.Valores.ValorIr = 0;
605609
nfSe.Servico.Valores.ValorCsll = 0;
606610
nfSe.Servico.Valores.IssRetido = SituacaoTributaria.Normal;
607-
nfSe.Servico.Valores.ValorIss = municipio.Provedor == NFSeProvider.SiapNet ? 2 : 0;
611+
nfSe.Servico.Valores.ValorIss = municipio.Provedor == NFSeProvider.SiapNet ? 2 : 0.20m;
608612
nfSe.Servico.Valores.ValorOutrasRetencoes = 0;
609-
nfSe.Servico.Valores.BaseCalculo = 100;
613+
nfSe.Servico.Valores.BaseCalculo = 1;
610614
nfSe.Servico.Valores.Aliquota = 2;
611-
nfSe.Servico.Valores.ValorLiquidoNfse = 100;
615+
nfSe.Servico.Valores.ValorLiquidoNfse = 1;
612616
nfSe.Servico.Valores.ValorIssRetido = 0;
613617
nfSe.Servico.Valores.DescontoCondicionado = 0;
614618
nfSe.Servico.Valores.DescontoIncondicionado = 0;
@@ -619,11 +623,11 @@ private void GerarRps()
619623
var servico = nfSe.Servico.ItensServico.AddNew();
620624
servico.Descricao = "Teste";
621625
servico.Quantidade = 1M;
622-
servico.ValorTotal = 100;
626+
servico.ValorTotal = 1;
623627
servico.Tributavel = NFSeSimNao.Sim;
624628
}
625629

626-
nfSe.Tomador.CpfCnpj = "44854962283";
630+
nfSe.Tomador.CpfCnpj = "11656919000154";
627631
nfSe.Tomador.InscricaoMunicipal = "";
628632
nfSe.Tomador.RazaoSocial = "Nome";
629633

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
using OpenAC.Net.DFe.Core;
2+
using System;
3+
using System.Security.Cryptography.X509Certificates;
4+
using System.Text;
5+
using OpenAC.Net.Core.Extensions;
6+
using System.Xml.Linq;
7+
using System.Net;
8+
using System.Text.RegularExpressions;
9+
using System.Xml;
10+
using System.ServiceModel.Channels;
11+
12+
namespace OpenAC.Net.NFSe.Providers.GISS
13+
{
14+
internal class GISSServiceClient : NFSeSoapServiceClient, IServiceClient
15+
{
16+
#region Constructors
17+
18+
public GISSServiceClient(ProviderGISS provider, TipoUrl tipoUrl, X509Certificate2 certificado) : base(provider, tipoUrl, certificado, SoapVersion.Soap11)
19+
{
20+
}
21+
22+
public GISSServiceClient(ProviderGISS provider, TipoUrl tipoUrl) : base(provider, tipoUrl, SoapVersion.Soap11)
23+
{
24+
}
25+
26+
#endregion Constructors
27+
28+
#region Methods
29+
30+
public string Enviar(string cabec, string msg)
31+
{
32+
var message = new StringBuilder();
33+
message.Append("<nfse:RecepcionarLoteRpsRequest>");
34+
message.Append("<nfseCabecMsg>");
35+
message.AppendCData("<cabecalho versao=\"2.00\"><versaoDados>2.00</versaoDados></cabecalho>");
36+
message.Append("</nfseCabecMsg>");
37+
message.Append("<nfseDadosMsg>");
38+
message.AppendCData(msg);
39+
message.Append("</nfseDadosMsg>");
40+
41+
message.Append("</nfse:RecepcionarLoteRpsRequest>");
42+
43+
return Execute("RecepcionarLoteRpsRequest", message.ToString(), "EnviarLoteRpsResposta");
44+
}
45+
46+
public string EnviarSincrono(string cabec, string msg) => throw new NotImplementedException("Função não implementada/suportada neste Provedor !");
47+
48+
public string ConsultarSituacao(string cabec, string msg) => throw new NotImplementedException("Função não implementada/suportada neste Provedor !");
49+
50+
public string ConsultarLoteRps(string cabec, string msg)
51+
{
52+
var message = new StringBuilder();
53+
message.Append("<nfse:ConsultarLoteRps>");
54+
message.Append("<ConsultarLoteRpsEnvio>");
55+
message.AppendCData(msg);
56+
message.Append("</ConsultarLoteRpsEnvio>");
57+
message.Append("</nfse:ConsultarLoteRps>");
58+
59+
return Execute("ConsultarLoteRps", message.ToString(), "ConsultarLoteRpsResposta");
60+
}
61+
62+
public string ConsultarSequencialRps(string cabec, string msg) => throw new NotImplementedException("Função não implementada/suportada neste Provedor !");
63+
64+
public string ConsultarNFSeRps(string cabec, string msg)
65+
{
66+
var message = new StringBuilder();
67+
message.Append("<nfse:ConsultarNfseRpsEnvio>");
68+
message.Append("<ConsultarNfseRpsEnvio>");
69+
message.AppendCData(msg);
70+
message.Append("</ConsultarNfseRpsEnvio>");
71+
message.Append("</nfse:consultarNfseRps>");
72+
73+
return Execute("ConsultarNfseRpsEnvio", message.ToString(), "ConsultarNfseRpsEnvioResponse");
74+
}
75+
76+
public string ConsultarNFSe(string cabec, string msg) => throw new NotImplementedException("Função não implementada/suportada neste Provedor !");
77+
78+
public string CancelarNFSe(string cabec, string msg)
79+
{
80+
var message = new StringBuilder();
81+
message.Append("<nfse:cancelarNfse>");
82+
message.Append("<CancelarNfseEnvio>");
83+
message.AppendCData(msg);
84+
message.Append("</CancelarNfseEnvio>");
85+
message.Append("</nfse:cancelarNfse>");
86+
87+
return Execute("cancelarNfse", message.ToString(), "CancelarNfseResposta");
88+
}
89+
90+
public string CancelarNFSeLote(string cabec, string msg) => throw new NotImplementedException("Função não implementada/suportada neste Provedor !");
91+
92+
public string SubstituirNFSe(string cabec, string msg) => throw new NotImplementedException("Função não implementada/suportada neste Provedor !");
93+
94+
private string Execute(string soapAction, string message, string responseTag)
95+
{
96+
return Execute(soapAction, message, "", responseTag, "xmlns:nfse=\"http://nfse.abrasf.org.br\"");
97+
}
98+
99+
public bool ValidarUsernamePassword()
100+
{
101+
return !string.IsNullOrEmpty(Provider.Configuracoes.WebServices.Usuario) && !string.IsNullOrEmpty(Provider.Configuracoes.WebServices.Senha);
102+
}
103+
104+
protected override string TratarRetorno(XElement xElement, string[] responseTag)
105+
{
106+
var reader = xElement.ElementAnyNs(responseTag[0]).CreateReader();
107+
reader.MoveToContent();
108+
var xml = reader.ReadInnerXml().Replace("ns2:", string.Empty);
109+
110+
XmlDocument xmlDoc = new XmlDocument();
111+
xmlDoc.LoadXml(xml);
112+
113+
XmlDocument xmlMensagem = new XmlDocument();
114+
xmlMensagem.LoadXml(xmlDoc.LastChild.InnerText);
115+
var mensagem = xmlMensagem.GetElementsByTagName("Mensagem");
116+
if (mensagem.Count == 0)
117+
return xElement.ToString();
118+
else
119+
return mensagem[0].InnerText;
120+
}
121+
122+
#endregion Methods
123+
}
124+
}

0 commit comments

Comments
 (0)